1

次のコードは、jQuery の追加を使用して、Firebug から 1 回だけアラートを出します。スクリプト タグが DOM に到達するたびに、iframe であろうとなかろうと、すぐに実行されると確信していました。

var iframe        = document.getElementById('myiframe'),
    iframe_window = iframe.contentWindow,
    iframe_head   = iframe_window.document.getElementsByTagName( 'head' )[0],
    script        = iframe_window.document.createElement('script');

script.type      = 'text/javascript';
script.innerHTML = "alert(1);";

iframe_head.appendChild( script.cloneNode( true ) );
$(iframe_head).append( script.cloneNode( true ));

さらなる混乱のために、私は jsfiddle ( http://jsfiddle.net/vs8KV/ ) を使用し、DID アラートを 2 回使用しました。これは Firebug の問題か、それとも別の問題だと思いますか?

4

1 に答える 1

0

重要な詳細を省略したようです... iframe は RTE です。これは、iframe で designMode がオンになっていることを意味し、これにより JS が内部で実行できなくなります。私は今日までそれについて知りませんでした。

代わりに親で実行することにより、JS が jquery を介して実行されていたようですjquery.append からウィンドウをコンソール ログに記録すると、iframe ではなく親ウィンドウが表示されます。

于 2011-02-07T18:16:58.910 に答える