15
ページにJSのスニペットを実行するChrome拡張機能を書き込むと、作成したiframeでも実行されますか?もしそうなら、これは、DOMがロードされた後にJavascriptによって作成されたiframeに適用されますか?Chrome拡張機能はiframeにアクセスしますか?
ありがとうございます!
ページにJSのスニペットを実行するChrome拡張機能を書き込むと、作成したiframeでも実行されますか?もしそうなら、これは、DOMがロードされた後にJavascriptによって作成されたiframeに適用されますか?Chrome拡張機能はiframeにアクセスしますか?
ありがとうございます!
はい、Chrome拡張機能の「コンテンツスクリプト」はすべてのiframe(ページが読み込まれると最初はHTMLにあります)で実行できます。あなたがall_frames
プロパティを使用してクロム拡張manifest.jsonをでそうするように設定する必要があるすべてのフレームで実行するコンテンツスクリプトを持っているために:
http://code.google.com/chrome/extensions/content_scripts.html
{
"name": "My extension",
...
"content_scripts": [
{
"matches": ["http://www.google.com/*"],
"css": ["mystyles.css"],
"js": ["jquery.js", "myscript.js"],
"all_frames": true
}
],
...
}
いいえ、コンテンツのスクリプトがするNOTは、ページ内のJavaScript経由で動的に読み込まれたiframeで実行されます。
動的に読み込まれたJSでコンテンツスクリプトを実行する方法はありますか?それとも不可能なのでしょうか? – Honoki
@Honoki私は、ページがロードされた後にJavaScriptで動的に追加されたiframeにJSを追加するChrome拡張機能を取得する方法はないとは思います。しかしiframeの内容を制御するなら、あなたが望むものを何でもすることができます。 iframeに何をロードしようとしていますか?たぶんあなたが必要とすることができるWeb APIがあります.Yahoo Pipe + YQLは素晴らしいWeb/REST APIを持たない他のサイトからコンテンツを取得するのに便利です。 –
私の実験では、新しく作成されたiframeでcontentscripts *が*実行されるように見えます... iframeごとに1回ずつcontentcript.jsを別々に実行していることにも注意してください(理論的には、 )、かつてはメイン文書のために... – rogerdpack