4

JavaScriptを使用して、新しいウィンドウを開き(たとえば、処理中にhttp://www.google.comをロードする)、このコードを本文に挿入/挿入するにはどうすればよいですか。

<script type="text/javascript">alert(document.title);</script>

新しいウィンドウを開く方法は知っていますが、スクリプトを新しいウィンドウに追加して実行する方法がわかりません。

var ww = window.open('http://www.google.com');
4

4 に答える 4

12

いいえ。これは、ユーザーを保護するためにほとんどの(すべての?)ブラウザーによって実装されている同一生成元ポリシーに違反します。

これが可能かどうか想像してみてください。ユーザーにサイトにアクセスしてもらい、銀行のWebサイトがロードされた新しいウィンドウを開いて、資格情報を盗むためのコードを挿入することができます。次に、お金や身元などを盗みます...

良くないですよね?ですから、それが不可能であることを非常に嬉しく思います。


参照:ブラウザセキュリティハンドブックのDOMアクセスの同一生成元ポリシー

于 2009-07-21T22:31:21.883 に答える
3

これはfirebugコンソールで機能しました:

>>> var x = window.open("");
Window opened
>>> x
Window about:blank
>>> x.document
Document about:blank
>>> x.document.write("<script type='text/javascript'>alert('h1');</script>");
Alert popped up
于 2009-07-21T19:54:50.873 に答える
0

varwwは、新しいウィンドウオブジェクトへの参照です。したがって、ww.window.titleは、開いたウィンドウのタイトルになります。

新しいウィンドウを操作したい場合は、wwvarを介して操作する必要があります。

于 2009-07-21T19:57:08.760 に答える
0

最善のアプローチは、Webサイト(スクリプトのソース)をプロキシとして機能させ、問題のURLをダウンロードすることです。したがって、サーバー上で、またはクライアント上でローカルに応答を変更できます。

于 2009-07-21T22:43:21.873 に答える