chrome.tabs.executeScript在chrome.tabs.onUpdated回调中无法正常工作

时间:2015-07-17 13:22:27

标签: google-chrome-extension

请参阅以下代码中的评论:

chrome.browserAction.onClicked.addListener(function(tab) {

  // ################# This works without any problems
  chrome.tabs.executeScript(tabId, {
    code: '!!window.LoadedFlag'
    }, function (hasContentJs) { ... });


  chrome.tabs.onUpdated.addListener(function (tabId, changeInfo, tab) {

    //  ################# This throws error:
    // Unchecked runtime.lastError while running tabs.executeScript:
    // Cannot access contents of url "http://localhost:3000/". Extension manifest must request permission to access this host.
    chrome.tabs.executeScript(tabId, {
      code: '!!window.LoadedFlag'
    }, function (hasContentJs) { ... });

我是不允许在回复chrome.tabs.executeScript回复中chrome.tabs.onUpdated.addListener

我的用例是我需要在每次刷新页面时运行启动脚本,但前提是我的扩展程序已启用。

的manifest.json:

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

1 个答案:

答案 0 :(得分:1)

抱歉,只是重新加载扩展程序的一个简单的错误。在更改.js文件时,只需按cmd+r重新加载即可。看起来在更改manifest.json我需要转到chrome://extentions并执行更难的重新加载时。感谢Rob W在评论中提示并链接到更好的替代方案。