Ticket #1055: 1055_2.patch

File 1055_2.patch, 1.8 kB (added by martinkou, 6 months ago)
  • _whatsnew.html

     
    6565                        [<a target="_blank" href="http://dev.fckeditor.net/ticket/1985">#1985</a>]  
    6666                        [<a target="_blank" href="http://dev.fckeditor.net/ticket/1989">#1989</a>]  
    6767                        Fixed XHTML source formatting errors in non-IE browsers.</li> 
     68                <li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1055">#1055</a>] Added logic 
     69                        to override JavaScript errors occuring inside the editing frame due to user added 
     70                        JavaScript code.</li> 
    6871        </ul> 
    6972        <h3> 
    7073                Version 2.6 Beta 1</h3> 
  • editor/_source/classes/fckeditingarea.js

     
    9292                // Create the editing area IFRAME. 
    9393                var oIFrame = this.IFrame = oTargetDocument.createElement( 'iframe' ) ; 
    9494 
     95                // IE: Avoid JavaScript errors thrown by the editing are source (like tags events). 
     96                // See #1055. 
     97                var sOverrideError = '<script type="text/javascript" _fcktemp="true">window.onerror=function(){return true;};</script>' ; 
     98 
    9599                oIFrame.frameBorder = 0 ; 
    96100                oIFrame.width = oIFrame.height = '100%' ; 
    97101 
    98102                if ( FCK_IS_CUSTOM_DOMAIN && FCKBrowserInfo.IsIE ) 
    99103                { 
    100                         window._FCKHtmlToLoad = html ; 
     104                        window._FCKHtmlToLoad = sOverrideError + html ; 
    101105                        oIFrame.src = 'javascript:void( (function(){' + 
    102106                                'document.open() ;' + 
    103107                                'document.domain="' + document.domain + '" ;' + 
     
    129133                        var oDoc = this.Window.document ; 
    130134 
    131135                        oDoc.open() ; 
    132                         oDoc.write( html ) ; 
     136                        oDoc.write( sOverrideError + html ) ; 
    133137                        oDoc.close() ; 
    134138                } 
    135139