在不同域的iframe中注入脚本

时间:2013-02-23 14:54:07

标签: javascript html5 iframe inject

我试图在iframe元素中注入脚本试图以这种方式实现, 子和父不属于同一个域(我知道在最新的浏览器中阻止了XSS) 是否有任何方法将脚本注入按钮的子元素单击父元素。 (在Chrome控制台中有类似的运行脚本)

var myIframe = document.getElementById("myIframeId");
var script = myIframe.contentWindow.document.createElement("script");
script.type = "text/javascript";
script.src = "randomshit.js";
myIframe.contentWindow.document.body.appendChild(script);

1 个答案:

答案 0 :(得分:6)

不。 Same Origin Policy可以追溯到Netscape 2.0。

除非您可以破解/ XSS其他站点的文件以注入JS,否则您将很难。

现在,如果您合法地需要与其他页面进行通信,并且您可以控制其他页面或者可以将其设置为与服务器通信,则可以使用window.postMessageJSONP甚至使用CORS的Ajax(后两个将更难传递动态内容)。但我相信情况并非如此。