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

没有。这将违反大多数(所有?)浏览器为保护其用户而实施的同源策略。

想象一下,如果这是可能的:您可以说服用户访问您的网站,打开一个新窗口,其中加载了他们银行的网站,然后注入代码以窃取他们的凭据。然后继续窃取他们的钱,身份等......

不好,嗯?所以要非常非常高兴这是不可能的。


另请参阅:浏览器安全手册中的 DOM 访问同源策略

于 2009-07-21T22:31:21.883 回答
3

这适用于萤火虫控制台:

>>> 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

您的wwvar 是对新窗口对象的引用。所以 ww.window.title 将是您打开的窗口的标题。

如果你想操纵你的新窗口,你应该通过你的wwvar.

于 2009-07-21T19:57:08.760 回答
0

最好的方法是让您的网站(您的脚本来自的网站)充当代理并为您下载有问题的网址。因此,您可以在服务器上或在客户端本地修改响应。

于 2009-07-21T22:43:21.873 回答