网站结构:
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();
那我该怎么办? 你有什么建议吗?
答案 0 :(得分:1)
您需要为清单上的内容脚本指定all_frames:true。这样,它将在所有iframe中使用匹配的url运行您的脚本。见http://developer.chrome.com/extensions/content_scripts.html