0

网站结构:

Site1
-dynamic iframe (using document.write)
--iframe src="site2"

我想用我的 chrome 扩展更改 site2 的内容。

使用从 site1 遍历 iframe 的内容脚本将不起作用。一旦它到达 site2 chrome 就会对安全性进行肛门处理,并且无法通过清单设置进行例外处理。清单文件:

"content_scripts": [
    {
        "matches": ["http://site1/*"],
        "js": ["script.js"],
    }
],
"permissions": [
    "tabs"
],

所以我试图让脚本直接在site2上运行(清单文件):

"content_scripts": [
    {
        "matches": ["http://site2/*"],
        "js": ["script.js"],
    }
],
"permissions": [
    "tabs"
],

它没有用。当 site2 在另一个站点的 iframe 中时,它似乎不起作用。

这是我使用的测试脚本:

function check_player() {
    //var player = document.getElementById("player");
    var player = self.document.getElementById("player");
    if (player) {
        console.log(player);
    } else {
        setTimeout("check_player()", 100);
    }
}
check_player();

那我该怎么办?你有什么建议吗 ?

4

1 回答 1

1

您需要为清单上的内容脚本指定 all_frames: true 。这样,它将在具有匹配 url 的所有 iframe 中运行您的脚本。请参阅http://developer.chrome.com/extensions/content_scripts.html

于 2012-11-05T09:43:17.803 回答