vainquit
2018-05-11 04:14
采纳率: 78.4%
浏览 2.8k

为什么我适用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://*/*"],
    
    点赞 评论

相关推荐 更多相似问题