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;と、コンテンツは数ミリ秒間表示されてから消えます。灰色(っぽい)の長方形しか見えません。

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 に答える