0

こんにちは、append を使用して iframe をページに追加しようとしています。Firefox では空の iframe が追加されますが、Chrome では正常に機能します。空の iframe は、windowLocation が wi​​ndow.location の場合にのみ追加されます。他の URL に変更すると、正常に動作します。

$("#button").click(function () {
 var windowLocation = window.location;
 $("body").append('<iframe id="fullFrame" width="1000" height="1000"></iframe>');
 $("#fullFrame").attr("src", windowLocation);
});
4

2 に答える 2

0

私には、これは再帰を作成するように見えます。フレームセットのいくつかの古い仕様によると、その場合、そのようなフレームは空として扱われる必要があります:http ://www.w3.org/TR/WD-frames-970331#nesting

したがって、Firefoxはこの動作を実装しているのかもしれません。

于 2012-10-06T16:22:21.860 に答える
0

自分の Web ページのコピーをそれ自体に埋め込む理由を尋ねる人がいるかもしれません。これにより、ある種の無限のネストの問題が発生する可能性があり、ブラウザが防止しようとしている可能性があります。iframe はそれ自体に埋め込まれ、コードまたはブラウザーがこれを防止しない限り、すべてのメモリまたはその他のリソースが使い果たされるまで決して停止しません。

コードのクリーンアップに関しては、次のコードに変更することをお勧めします。

$("#button").click(function () {
 var windowLocation = window.location.href;
 $("body").append('<iframe id="fullFrame" src="' + windowLocation + '"width="1000" height="1000"></iframe>');

});

これにより、2 つのことが変わります。最初に、場所オブジェクトのプロパティを使用して URL を取得し、次に、プロパティが既に配置されてhrefいる iframe を作成して挿入します。.src

于 2012-10-06T16:20:03.877 に答える