Index: typo3/sysext/rtehtmlarea/htmlarea/htmlarea.js =================================================================== --- typo3/sysext/rtehtmlarea/htmlarea/htmlarea.js (révision 8722) +++ typo3/sysext/rtehtmlarea/htmlarea/htmlarea.js (copie de travail) @@ -911,35 +911,37 @@ base.href = this.config.baseURL; head.appendChild(base); } - HTMLArea._appendToLog('[HTMLArea.Iframe::createHead]: Iframe baseURL set to: ' + this.config.baseURL); + HTMLArea._appendToLog('[HTMLArea.Iframe::createHead]: Iframe baseURL set to: ' + base.href); } var link0 = this.document.getElementsByTagName('link')[0]; if (!link0) { link0 = this.document.createElement('link'); link0.rel = 'stylesheet'; - link0.href = this.config.editedContentStyle; + // Firefox 3.0.1 does not apply the base URL while Firefox 3.6.8 does so. Do not know in what version this was fixed. + // Therefore, for versions before 3.6.8, we prepend the url with the base, if the url is not absolute + link0.href = ((Ext.isGecko && navigator.productSub < 2010072200 && !/^http(s?):\/{2}/.test(this.config.editedContentStyle)) ? this.config.baseURL : '') + this.config.editedContentStyle; head.appendChild(link0); - HTMLArea._appendToLog('[HTMLArea.Iframe::createHead]: Skin CSS set to: ' + this.config.editedContentStyle); + HTMLArea._appendToLog('[HTMLArea.Iframe::createHead]: Skin CSS set to: ' + link0.href); } if (this.config.defaultPageStyle) { var link = this.document.getElementsByTagName('link')[1]; if (!link) { link = this.document.createElement('link'); link.rel = 'stylesheet'; - link.href = this.config.defaultPageStyle; + link.href = ((Ext.isGecko && navigator.productSub < 2010072200 && !/^https?:\/{2}/.test(this.config.defaultPageStyle)) ? this.config.baseURL : '') + this.config.defaultPageStyle; head.appendChild(link); } - HTMLArea._appendToLog('[HTMLArea.Iframe::createHead]: Override CSS set to: ' + this.config.defaultPageStyle); + HTMLArea._appendToLog('[HTMLArea.Iframe::createHead]: Override CSS set to: ' + link.href); } if (this.config.pageStyle) { var link = this.document.getElementsByTagName('link')[2]; if (!link) { link = this.document.createElement('link'); link.rel = 'stylesheet'; - link.href = this.config.pageStyle; + link.href = ((Ext.isGecko && navigator.productSub < 2010072200 && !/^https?:\/{2}/.test(this.config.pageStyle)) ? this.config.baseURL : '') + this.config.pageStyle; head.appendChild(link); } - HTMLArea._appendToLog('[HTMLArea.Iframe::createHead]: Content CSS set to: ' + this.config.pageStyle); + HTMLArea._appendToLog('[HTMLArea.Iframe::createHead]: Content CSS set to: ' + link.href); } HTMLArea._appendToLog('[HTMLArea.Iframe::createHead]: Editor iframe document head successfully built.'); }, @@ -1084,7 +1086,7 @@ onNestedShow: function (event, target) { var styleEvent = true; // In older versions of Gecko attrName is not set and refering to it causes a non-catchable crash - if ((Ext.isGecko && navigator.productSub > 20071127) || Ext.isOpera) { + if ((Ext.isGecko && navigator.productSub > 2007112700) || Ext.isOpera) { styleEvent = (event.browserEvent.attrName == 'style'); } else if (Ext.isIE) { styleEvent = (event.browserEvent.propertyName == 'style.display');