Javascript chrome.debugger.attach到带有调试对象类型的弹出窗口

Javascript chrome.debugger.attach到带有调试对象类型的弹出窗口,javascript,google-chrome,debugging,google-chrome-extension,Javascript,Google Chrome,Debugging,Google Chrome Extension,我对Chrome扩展的开发很感兴趣,我正在尝试调整来自的代码,以便在弹出窗口中显示标题,而不是在单独的调试窗口中 事实上,除了示例代码中包含的单独窗口之外,将调试器附加到任何其他窗口都没有成功 我用popup.js中的代码尝试了两种方法,第一种是添加chrome.debugger.attach@@extension\u id,0.1,它给出了一个未捕获的语法错误:无效或意外的标记 其次,在popup.js中: chrome.tabs.query( {currentWindow:true}

我对Chrome扩展的开发很感兴趣,我正在尝试调整来自的代码,以便在弹出窗口中显示标题,而不是在单独的调试窗口中

事实上,除了示例代码中包含的单独窗口之外,将调试器附加到任何其他窗口都没有成功

我用popup.js中的代码尝试了两种方法,第一种是添加chrome.debugger.attach@@extension\u id,0.1,它给出了一个未捕获的语法错误:无效或意外的标记

其次,在popup.js中:

chrome.tabs.query(
    {currentWindow:true},
    function(tabs) {
        var tabId = tabs[0]
        chrome.debugger.attach(
            tabId,
            "1.0",
            function() { console.log("hello?") }
        )
    }
)
这会产生以下错误:


通过右键单击扩展浏览器操作按钮并选择“检查”,然后检查控制台来检查弹出窗口,可以看到这些错误。我对JavaScript的经验很少,所以如果这一切都很愚蠢,请原谅我。

选项卡的回调会给您一个选项卡,而不是选项卡ID。在这种情况下,您应该更改

var tabId = tabs[0];


请注意,1。弹出窗口不是选项卡,因此没有选项卡ID,2。弹出窗口只有在实际显示时才存在。@wOxxOm检查后弹出窗口仍然显示,所以我认为这没关系。@extension\u id与弹出窗口有什么关系?这种方法的错误是什么?一般来说,什么是连接弹出窗口的正确方式?好吧,把这个调试器附加到它上,特别是。有可能吗?我还没有使用chrome.debugger,所以请等待其他人的权威回答。我所知道的是,1 Chrome不支持连接到一个目标的多个调试器,因此如果您在devtools中检查弹出窗口,这是不允许的,您需要正常打开弹出窗口2运行Chrome.debugger.getTargetConsole.log以查看可用的目标。3您可以通过将弹出页面的完整URL粘贴到地址栏中,将其作为普通选项卡打开。
var tabId = tabs[0];
var tabId = tabs[0].id;