5

この方法で実装しようとしている 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);
4

1 に答える 1

7

いいえ。Same Origin ポリシーは、Netscape 2.0 にさかのぼります。

他サイトのファイルをハック/XSSしてJSを注入できないと大変です。

正当に他のページと通信する必要があり、他のページを制御できるか、サーバーと通信するようにセットアップできる場合はwindow.postMessage、 、JSONP、または Ajax と CORS を使用できます (後者の 2 つは動的に渡すのが難しくなります)。内容ですが)。しかし、そうではないと私は信じています。

于 2013-02-23T15:07:37.317 に答える