Re: Can't Get Editor To Render Fully

  •  11-27-2013, 9:26 AM

    Re: Can't Get Editor To Render Fully

    NOTE: I fixed the code, for my purposes. See the FIX section below. 

     

    I wanted to test something this morning, so I opened out site on IE 10 and the editor renders correctly. On my computer I am running IE 11 and the editor isn't rendering. I have downloaded the  11-23-2013 file from your site, which I believe contains the fixes for IE 11.

     

    What's odd, is that I created a test page that does nothing but render the editor and it renders correctly, but Classic ASP pages within our MVC site won't render the editor. I've deleted the "cuteeditor_files" folder and added it back, but that's didn't fix things under IE 11.

     

    Unfortunately, I can't send you a link to our site, nor provide a sample project file. This appears to be some sort of odd IE 11 issue when using Classic ASP pages within a MVC framework.

     

    Follow Up 1: The editor renders correctly in our MVC framework using Chrome, Firefox and Safari, so this does appear to be an issue with IE 11. 

     

    Follow Up 2: When I used the IE 11 Developer Tools debugger, I get the following error under IE 11, which I believe I reported before via email and may explain why the editor doesn't render. The error occurs in the Element_GetAllElements. I have provided a screenshot below. NOTE: I don't get this javascript error when calling my test page, which is outside of the MVC framework.

     

    Loader.js Error Screenshot 

     

    In the error...

     

    p is [object HTMLDivElement]


    OxO6ac0[54] = "all"

    OxO6ac0[14] = "length" 

     

    Follow Up 3: Using IE 11, I changed the Document Mode from Edge to IE 10 and the editor renders correctly. Basically, in IE 10 p.all.length is valid, but in IE 11 it returns as "undefined". Under IE 10, the length = 176 elements within the DIV.

     

    Follow Up 4:  As a test, I edited Scripts/IE_Implementation/CuteEditorImplementation.js and removed the for loop in the section of code shown in the screenshot. So basically the Element_GetAllElements method just initialized the arr variable and returned it. This allows the editor to render in our MVC framework. I'll keep digging and see if I can find the offending HTMLDivElement that doesn't have a length or maybe I can put some kind of try/catch around the code.

     

    I hope all of the above helps resolve this issue. 

     

    ===FIX===

     

     Your Element_GetAllElements method: 

    1. function Element_GetAllElements(p) {  
    2.     var arr = [];  
    3.     for (var i = 0; i < p[OxOf4cf[54]][OxOf4cf[14]]; i++) {  
    4.         arr.push(p[OxOf4cf[54]].item(i));  
    5.     };  
    6.     return arr;  
    7. }
    My Element_GetAllElements method:

    1. function Element_GetAllElements(p) {  
    2.    var arr = [];  
    3.   
    4.    //see if the "all" property exists (IE 10), if not use getElementsByTagName (IE 11)  
    5.    var childElements = (typeof p.all == "undefined") ? p.getElementsByTagName("*") : p.all;  
    6.   
    7.    for (var i = 0; i < childElements.length; i++) {  
    8.       arr.push(childElements.item(i))  
    9.    };  
    10.    return arr  
    11. };  

View Complete Thread