vainquit 2018-05-10 17:14 采纳率: 100%
浏览 876
已采纳

这3行和tabs.query相关的代码到底哪出了问题。。

想实现一个功能:打开新tab时,检测当前有没有百度的tab,如果有(为了测试方便,该百度的tab一开始就存在了),那就关闭掉该tab。这功能一开始我是做成了,但后来不知道发神经修改了哪里,导致出了BUG。后来为了测试方便,我把“关闭掉tab”的语句改成了"window.alert(tb.length)",看看有没有值传到tb上,结果tb.length输出为0,意味着并没有搜到百度的tab(但是前面说了,该百度tab我是提前打开了的,理应能匹配的到)

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

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

});


至于json的文件,我是一直没动过的,应该没什么问题,不过一起发上来吧:
"manifest_version": 2,
"name": "demo",
"version": "1.0.0",
"description": "简单的Chrome扩展demo",
"permissions": ["storage"],
"permissions": ["tabs"],
"permissions": [ "activeTab"],

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

  • 写回答

1条回答 默认 最新

  • Go 旅城通票 2018-05-11 00:37
    关注

    配置文件出错了啊,json对象出现多个相同的属性,只有最后一个生效,所以 你的permissions只对当前激活的tab有效,无权限访问所有tabs,整合一起就行了

    
    {
        "manifest_version": 2,
        "name": "demo",
        "version": "1.0.0",
        "description": "简单的Chrome扩展demo",
        "permissions": ["storage","tabs","activeTab"],
    
        "background":
        {
            "scripts": ["background.js"],
            "persistent": false
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?