Chrome扩展程序注入脚本出错

时间:2016-04-21 07:17:31

标签: google-chrome google-chrome-extension

使用命令

注入脚本
chrome.tabs.executeScript(
  null, {file: "dialog.js"});

抛出错误

运行tabs.executeScript时未经检查的runtime.lastError:无法访问网址“chrome-devtools://devtools/bundled/inspector.html?& remoteBase = https://chrom ... om / serve_file / @ 4fc366553993dd1524b47a280fed49d8ec28421e / &安培; DOCKSIDE =解除对接”。扩展清单必须请求访问此主机的权限。     at onNativeMessage(chrome-extension://knldjmfmopnpolahpmmgbagdohdnhkik/background.js:31:5)

manifiest.json
{
  "key": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDcBHwzDvyBQ6bDppkIs9MP4ksKqCMyXQ/A52JivHZKh4YO/9vJsT3oaYhSpDCE9RPocOEQvwsHsFReW2nUEc6OLLyoCFFxIb7KkLGsmfakkut/fFdNJYh0xOTbSN8YvLWcqph09XAY2Y/f0AL7vfO1cuCqtkMt8hFrBGWxDdf9CQIDAQAB",
  "name": "TerminusProLink",
  "version": "1.0",
  "manifest_version": 2,
  "description": "Link to ProLaw App",
  "background": {
  "scripts": [ "background.js", "background.html"]
  },
  "content_scripts": [
    {
      "all_frames": true,
      "js": [ "jquery-1.5.1.js", "jquery-ui-1.8.11.js", "content.js" ],
      "matches": [ "http://*/*", "https://*/*" ]
    }
  ],

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

  ]
}

任何有解决方案的人请建议。

1 个答案:

答案 0 :(得分:2)

请明确设置tabId的{​​{1}}参数,by default将成为当前窗口的有效标签。

如果您无法直接获取executeScript,请使用tabId查询标签状态。

chrome.tabs.query

不要忘记在chrome.tabs.query({active: true, currentWindow: true}, function(tabs) { for(var i = 0; i<tabs.length;i++) { chrome.tabs.executeScript(tabs[i].id, {"file": "dialog.js"}); } });

中添加"web_accessible_resources": ["dialog.js"]