插入iFrame,然后在FF上的所有其他内容之前加载它

时间:2010-12-20 09:21:41

标签: javascript dom load firefox-addon

我有浏览器插件,可以将iframe插入网页。 iframe会尽早插入(使用DOMContentLoaded),以便iframe的内容将与页面一起呈现。

但在Firefox中并没有发生。即使iframe似乎提前插入,页面/图片/等的内容也会加载到iframe的内容之前。

是否有解决此Firefox行为的方法,以便iframe内容可以提前加载或首先加载?

不确定是否重要但是这两种方法具有相同的结果:

方法1.在DOMContentLoaded

上插入iframe

方法2:

nsiWebProgressListener()

onStateChange: function (aBrowser, aWebProgress, aRequest, aStateFlags, aStatus) {
   const STATE_START = Components.interfaces.nsIWebProgressListener.STATE_START;
   const STATE_STOP = Components.interfaces.nsIWebProgressListener.STATE_STOP;

   if (aStateFlags & STATE_STOP) { //document is undefined at STATE_START

       try {
           //create iframe

       } catch (e) {}
   }
return true;
},

1 个答案:

答案 0 :(得分:0)

听众DOMContentLoaded的爆发时间晚于人们对FF的思考。通过使用Firefox的onLocationChange(触发URL更改)并将setTimeout循环设置为50毫秒来解决问题。

相关问题