web-dev-qa-db-ja.com

chrome拡張機能を使用してJavaScriptをiframeに挿入する

ドキュメントページにJavaScriptを挿入することに関する質問/回答はたくさんあります。私が本当にやりたいことは、ドキュメント内のiframeにJavaScriptを挿入することです。

明確にするために、そのiframeはドキュメントと同じドメインに属していません。私は(拡張機能ではなく)コンソールですでに試しましたが、できませんでした。

これがクロム拡張を使用して実行できるものであるかどうか私は非常に興味がありますか?

25
coding_idiot

はい、manifest.jsonで content_scripts プロパティを次のように使用できます。

"content_scripts": [{
    "matches": ["http://*/*", "https://*/*"],
    "js": ["content_frame.js"],
    "all_frames": true
}],

all_framestrueに設定すると、content_frame.js javascriptファイルがトップドキュメントとすべてのiframeに挿入/挿入されます。 iframeにJavaScriptを挿入するだけでトップドキュメントに挿入する必要がない場合は、content_frame.jsファイル内を次のように確認できます。

if (parent === top) {
    // here you can put your code that will run only inside iframe
}
50
Igor Jerosimić