4

たとえば、私がこれをするとします:

var otherWindow = window.open("otherfile.html", "_blank");

それからしばらくして:

if(otherWindow.document && otherWindow.document.body) {
 var elem = document.createElement("DIV")
 elem.innerHTML = "hello here I am!";
 otherWindow.document.body.appendChild(elem);
}

これはうまくいくようですが、 elem が最初のウィンドウのドキュメントで作成されたが、2 番目のウィンドウのドキュメントに追加されたという事実にマイナス面があるかどうか興味があります。これは大きなノーノーですか?

これを行う理由があり、(要素は実際にはライブラリ コードによって作成されるため) 「otherWindow.document」を使用して要素を作成するのは簡単ではありません。

4

2 に答える 2

2

少なくとも一部のブラウザーでは問題ないと思いますが、例外がある可能性があり、DOM 仕様がそれについて何を言っているのかわかりません。ターゲットブラウザで試してみることをお勧めします。

かなり幅広いサポートがあり、タスク用に設計された DOMimportNode()メソッドもあるため、最も安全なオプションであり、お勧めします。

于 2013-10-01T22:07:06.647 に答える
1

変数へのアクセスと潜在的な DOM の問題を除いて、どこに要素を追加するかは問題ではありません。

于 2013-10-01T22:05:02.320 に答える