如何重新加载chrome扩展中的某些选项卡

时间:2018-01-12 05:29:36

标签: javascript google-chrome-extension

我正在尝试从弹出窗口(特别是popup.js)重新加载用户可能在其中一个标签页中打开的页面。我正在查看此答案,但仅适用于当前标签https://stackoverflow.com/a/25246060/8786209

此外,当它运行时,我收到此错误:

popup.html:1 Unchecked runtime.lastError while running tabs.executeScript: Cannot access contents of url "thewebpageiamtryingtoaccess.com".
Extension manifest must request permission to access this host at Object.callback (chrome-extension://mjckbfpnokoplldjpijdfhffbbbfflah/popup.js:3:17)

我添加了

"permissions": [
    "tabs"
  ],
在我的清单里面,仍然没有运气。如何为用户打开的特定选项卡执行此操作。我希望这在第一次加载扩展时重新加载网站,这样用户就不必手动重新加载网页以使内容脚本生效。谢谢!

1 个答案:

答案 0 :(得分:5)

要修复执行错误,您需要将清单文件中的权限更改为:

  "permissions": [
     "tabs",
     "http://*/",
     "https://*/"
  ]

您可以通过网址查询标签的ID,如下所示:

chrome.tabs.query({url: "http://thewebpageiamtryingtoaccess.com/*"}, function(tab) {
   // reload tab with one of the methods from linked answer
   chrome.tabs.reload(tab[0].id) 
})