F5上的chrome.tabs.executeScript错误?

时间:2015-11-27 13:55:46

标签: google-chrome-extension

背景页面:

chrome.tabs.create({ url: 'http://google.com' }, tab => {
  chrome.tabs.executeScript({ code: '2+2;' }, (r) => {
    console.log(`url: ${tab.url}, result: ${r[0]}`);
  });
});

我打开背景页面看输出:

url: http://google.com/, result: 4

看起来不错,但现在我按F5或Ctrl + F5:

Unchecked runtime.lastError while running tabs.executeScript: Cannot access contents of url "chrome-devtools://devtools/bundled/inspector.html?&remoteBase=https://chrom…om/serve_file/@e8926f681fbb840b4f389e7e692343d4505722ce/&dockSide=undocked". Extension manifest must request permission to access this host.
at Object.callback (chrome-extension://laaoiaaacchfpefjhklpmnfjbeamjfli/background.js:2:15)

在' manifest.json'我有< all_urls>权限。

1 个答案:

答案 0 :(得分:4)

当省略tabId的第一个参数chrome.tabs.executeScript时,代码将被注入活动窗口的活动选项卡中。在您的情况下,活动窗口是后台页面的devtools调试器,它不允许注入代码。

明确指定tabIdchrome.tabs.executeScript(tab.id, { code: .......