Index: typo3/sysext/rtehtmlarea/htmlarea/htmlarea.js
===================================================================
--- typo3/sysext/rtehtmlarea/htmlarea/htmlarea.js (révision 8885)
+++ typo3/sysext/rtehtmlarea/htmlarea/htmlarea.js (copie de travail)
@@ -1097,11 +1097,23 @@
errorText = "Stylesheets not yet loaded";
}
} else {
- for (var rule = 0; rule < doc.styleSheets.length; rule++) {
- if (HTMLArea.is_gecko) try { rules = doc.styleSheets[rule].cssRules; } catch(e) { stylesAreLoaded = false; errorText = e; }
- if (HTMLArea.is_ie) try { rules = doc.styleSheets[rule].rules; } catch(e) { stylesAreLoaded = false; errorText = e; }
- if (HTMLArea.is_ie) try { rules = doc.styleSheets[rule].imports; } catch(e) { stylesAreLoaded = false; errorText = e; }
+ // Test if the styleSheets array is at all accessible
+ 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; }
}
+ // 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 (!stylesAreLoaded && !HTMLArea.is_wamcom) {
HTMLArea._appendToLog("[HTMLArea::initIframe]: Failed attempt at loading stylesheets: " + errorText + " Retrying...");