在Chrome扩展程序中附加调试器时出现的问题

时间:2018-11-09 11:29:42

标签: javascript google-chrome-extension google-chrome-devtools

我正在构建一个自定义的Chrome扩展程序,该功能之一实际上是在用户将鼠标光标移到某个元素上时从该元素突出显示并获取DOM选择器。

有人告诉我,使用Chrome调试器API可以轻松实现此功能。我已经下载了一些代码示例,但总是得到相同的错误

Error in event handler for runtime.onMessage: Error: Invocation of form 
debugger.attach(integer, string) doesn't match definition 
debugger.attach(object target, string requiredVersion, optional 
function callback)
at chrome-extension://hgjiapiojommgpfcaijbjlckjajegmoa/js/background.js:16:23 

这是我的background.js文件内容

chrome.browserAction.onClicked.addListener(function() {
  chrome.tabs.query({
    active: true,
    currentWindow: true
  }, function(tabs) {
    chrome.tabs.sendMessage(tabs[0].id, "toggle");
  });
});

chrome.runtime.onMessage.addListener(
  function(request, sender, sendResponse) {
    if(request == "captureSelector") {
      console.log(sender);
      console.log("'Capture DOM selector' event detected");

      chrome.debugger.attach(sender.tab.id, "1.0");
    }
  }
);

根据文档,该函数期望一个Debuggee对象,该对象可能是tabId,所以我不明白为什么它会失败

有什么想法吗?

0 个答案:

没有答案