Index: typo3/sysext/rtehtmlarea/htmlarea/htmlarea.js =================================================================== --- typo3/sysext/rtehtmlarea/htmlarea/htmlarea.js (révision 6347) +++ typo3/sysext/rtehtmlarea/htmlarea/htmlarea.js (copie de travail) @@ -876,8 +876,8 @@ HTMLArea._appendToLog("[HTMLArea::generate]: Editor iframe successfully created."); if (HTMLArea.is_opera) { - // Opera 10 needs lots of time here... - window.setTimeout("HTMLArea.initIframe(\'" + this._editorNumber + "\');", 200); + var self = this; + this._iframe.onload = function() { self.initIframe(); }; } else { this.initIframe(); } @@ -1101,10 +1101,17 @@ var stylesAreLoaded = true; var errorText = ''; var rules; - 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; } + if (HTMLArea.is_opera) { + if (doc.readyState != "complete") { + stylesAreLoaded = false; + 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; } + } } if (!stylesAreLoaded && !HTMLArea.is_wamcom) { HTMLArea._appendToLog("[HTMLArea::initIframe]: Failed attempt at loading stylesheets: " + errorText + " Retrying...");