为什么我适用chrome.tabs.executeScript没有反应

我要实现这样一个功能:打开一个新tab时,如果浏览器已经存在百度网站的tab,那么就在这个百度tab里注入一段代码(为了测试方便,这里就用alert语句)。
这里tb[0].id自然就是那个被抓取到的百度tab的ID,经单独测试没有错误,是有数值的。但是后面那个code就一直执行不了,换成file也不行,不知道什么原因,请求大神解答

chrome.tabs.onCreated.addListener(function(tab) {

chrome.tabs.query({url:"https://www.baidu.com/"},function(tb){

chrome.tabs.executeScript(tb[0].id,{code:"window.alert(11)"},null);
});

});


json文件:

{

"manifest_version": 2,
"name": "demo",
"version": "1.0.0",
"description": "简单的Chrome扩展demo",
 "permissions": ["storage","tabs","activeTab"],

 "background":
{
    "scripts": ["background.js"],
    "persistent": false
}

}

1个回答

权限问题,要有跨域访问页面的权限,加上https://*/*,注意协议。。如果是http要一起加上

 "permissions": ["storage","tabs","activeTab","https://*/*"],
vainquit
vainquit 多谢大神2次相助,都是permission的问题。看来以后有什么BUG我都到这permission里找了。
一年多之前 回复
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 就是这个问题!
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!

相似问题