1

我正在尝试使用KangoExtensions构建浏览器扩展。

我将以下 iframe 附加到正文:

<iframe id="iframe" name="iframe" allowtransparency="yes"
    style="position: absolute; top: -41px; left: 0px; right: 0px; width: 100%; height: 41px; z-index: 10000; border: 0px none;">
</iframe>

附加 iframe 后,我尝试编写内容:

window.onload= function(){
   $(iframe).ready(function(){
                var iframeDocument = false;
                if(iframe.contentDocument) {
                    iframeDocument = iframe.contentDocument;
                } else if(iframe.contentWindow) {
                    iframeDocument = iframe.contentWindow.document;
                } else if(window.frames['iframe'].document) {
                    iframeDocument = window.frames['iframe'].document;
                }
                if(iframeDocument) {
                    iframeDocument.open();
                    iframeDocument.write(content);
                }
            });
 };

该扩展适用于所有浏览器(Chrome、Opera、IE),但在 Firefox 中它不会向 iframe 写入任何内容。如果我使用iframeDocument.body.innerHTML = content;内容可见几毫秒然后消失。我只看到一个灰色(ish)矩形。

在 Firefox 扩展中使用 iframe 可以做什么有一些限制吗?

4

2 回答 2

2

当您尝试修改 iframe 时,似乎没有强制加载它。

更改$(iframe).ready(function(){...})iframe.addEventListener('load', function(){...})

于 2012-09-03T08:24:05.070 回答
1

您可以使用

$(iframe).load('data form server', function(){
    // ...
})
于 2014-12-22T08:56:40.367 回答