【问题标题】:Dynamic iframe not visible on Firefox动态 iframe 在 Firefox 上不可见
【发布时间】:2012-08-10 12:45:32
【问题描述】:

我正在尝试使用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 可以做什么有一些限制吗?

【问题讨论】:

  • 尝试将src="about:blank" 添加到&lt;iframe&gt;

标签: javascript html firefox iframe firefox-addon


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    你可以使用

    $(iframe).load('data form server', function(){
        // ...
    })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-13
      • 1970-01-01
      • 2012-12-07
      • 2015-07-03
      • 2023-03-19
      • 1970-01-01
      相关资源
      最近更新 更多