Chrome扩展程序-executeScript不在活动选项卡中

丹尼尔·格里玛(Daniel Grima)

我正在尝试一个简单的Chrome扩展程序示例,该示例应可使我将所有打开的youtube标签的背景颜色更改为红色。我注意到的是,只有当我在实际页面上时,页面的背景才会变成红色,即它是活动选项卡。

代码:

function getYouTubeTabs() {
    queryInfo = {
        'url': '*://www.youtube.com/*'
    };

    chrome.tabs.query(queryInfo, function (result) {
        for (i = 0; i < result.length; i++) {    
            chrome.tabs.executeScript(result[i].id, {
                code: 'document.body.style.backgroundColor="red"'
            });
        }
    });
}

这是我的代码,我可能会丢失一些东西。不知道是否可以在“非活动”选项卡上使用executeScript。提前致谢。

编辑

manifest.json

{
  "manifest_version": 2,

  "name": "First menu item",
  "description": "Testing Context Menus",
  "version": "1.0",

  "permissions": [
    "contextMenus", "tabs", "activeTab"
  ],
  "icons": {
    "16": "myicon.png",
    "128": "myicon2.png"
  },
  "background": {
    "scripts": ["background.js"]
  }
}
加尔帕克

activeTab许可,允许你叫tabs.executeScript或tabs.insertCSS该选项卡上

相反,为了能够以编程方式将代码注入到非活动选项卡中,除了tabs权限外,您的扩展程序还必须具有页面的跨域权限

因此,您需要permissions像这样修改清单的部分:

"permissions": [
    ...
    "*://www.youtube.com/*"
],

"persistent": falsebackground部分中添加也应该可以正常工作(这是首选方式)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章