Index: typo3/sysext/rtehtmlarea/htmlarea/htmlarea.js =================================================================== --- typo3/sysext/rtehtmlarea/htmlarea/htmlarea.js (révision 8998) +++ typo3/sysext/rtehtmlarea/htmlarea/htmlarea.js (copie de travail) @@ -825,7 +825,7 @@ // create and append the IFRAME var iframe = document.createElement("iframe"); - if (HTMLArea.is_gecko && !HTMLArea.is_safari && !HTMLArea.is_opera) { + if ((HTMLArea.is_gecko && !HTMLArea.is_safari && !HTMLArea.is_opera) || HTMLArea.is_chrome) { iframe.setAttribute("src", "javascript:void(0);"); } else { iframe.setAttribute("src", (HTMLArea.is_opera?_typo3_host_url:"") + _editor_url + "popups/blank.html"); @@ -1101,17 +1101,22 @@ if (HTMLArea.is_ie) { try { rules = doc.styleSheets[0].rules; } catch(e) { stylesAreLoaded = false; errorText = e; } } else { - try { doc.styleSheets[0] && doc.styleSheets[0].cssRules; } catch(e) { stylesAreLoaded = false; errorText = e; } + try { doc.styleSheets && doc.styleSheets[0] && doc.styleSheets[0].cssRules; } catch(e) { stylesAreLoaded = false; errorText = e; } } // Then test if all stylesheets are accessible if (stylesAreLoaded) { - for (var rule = 0; rule < doc.styleSheets.length; rule++) { - if (HTMLArea.is_ie) { - try { rules = doc.styleSheet.rules; } catch(e) { stylesAreLoaded = false; errorText = e; } - try { rules = doc.styleSheet.imports; } catch(e) { stylesAreLoaded = false; errorText = e; } - } else { - try { rules = doc.styleSheet.cssRules; } catch(e) { stylesAreLoaded = false; errorText = e; } + if (doc.styleSheets.length) { + for (var rule = 0; rule < doc.styleSheets.length; rule++) { + if (HTMLArea.is_ie) { + try { rules = doc.styleSheets[rule].rules; } catch(e) { stylesAreLoaded = false; errorText = e; } + try { rules = doc.styleSheets[rule].imports; } catch(e) { stylesAreLoaded = false; errorText = e; } + } else { + try { rules = doc.styleSheets[rule].cssRules; } catch(e) { stylesAreLoaded = false; errorText = e; } + } } + } else { + stylesAreLoaded = false; + errorText = 'Empty stylesheets array'; } } }