次のようなものを使用して、開いた新しいウィンドウのDOMを拡張することは可能ですか:
var newWindow = window.open('about:blank', 'testWindow', '');
Element.extend(newWindow);
私はElement.extendがうまくいくと思っていました..しかし、私はDOMのプロトタイプへの参照を見ました。
何か案は?
ありがとうございました!モルテン
次のようなものを使用して、開いた新しいウィンドウのDOMを拡張することは可能ですか:
var newWindow = window.open('about:blank', 'testWindow', '');
Element.extend(newWindow);
私はElement.extendがうまくいくと思っていました..しかし、私はDOMのプロトタイプへの参照を見ました。
何か案は?
ありがとうございました!モルテン
about:blank
クロスドメイン セキュリティ ポリシーのため、おそらく機能しないでしょう。そのウィンドウが同じドメインのページを表示していない場合、新しいウィンドウの DOM にアクセスすることはできません。
第二に、ウィンドウが同じオリジンであっても、ウィンドウを開いてすぐにその DOM にアクセスすることはできません。ロードされるまで待つ必要があります。簡単な方法は、(DOMContentLoad または Window.onload の後) 読み込みが完了したときに、子ウィンドウが親ウィンドウの関数を呼び出すようにすることです。または、ループで DOM が使用可能かどうかを繰り返し確認することもできsetTimeout
ます (子ウィンドウの準備が整うまでブラウザーがハングするため、while ループは使用しないでください)。DOM の準備ができたら、DOM でやりたいことを実行できます。
新しいウィンドウでプロトタイプを再度ロードしたくないのはなぜですか??? つまり、参照はキャッシュにあるので、もう一度挿入しても問題ありません...理由はありますか???