Google chrome extension 如何停靠扩展的调试窗口';主窗口中的背景脚本是什么?

Google chrome extension 如何停靠扩展的调试窗口';主窗口中的背景脚本是什么?,google-chrome-extension,google-chrome-devtools,Google Chrome Extension,Google Chrome Devtools,我有一个运行background.js文件的Google Chrome扩展。当我通过chrome://extensions/并单击检查视图:_generated_background_page.html,我得到一个包含所有调试信息的开发工具窗口实例 我更希望该窗口停靠在主窗口内,并且在左下角确实有一个“停靠到主窗口”在嘲笑我,但按下它绝对没有任何作用 所以我想知道,这是Chrome端的一个bug/功能,还是我的扩展设置不正确,尽管它可以工作 manifest.json: { "manif

我有一个运行
background.js
文件的Google Chrome扩展。当我通过
chrome://extensions/
并单击
检查视图:_generated_background_page.html
,我得到一个包含所有调试信息的开发工具窗口实例

我更希望该窗口停靠在主窗口内,并且在左下角确实有一个“停靠到主窗口”在嘲笑我,但按下它绝对没有任何作用

所以我想知道,这是Chrome端的一个bug/功能,还是我的扩展设置不正确,尽管它可以工作

manifest.json

{
    "manifest_version": 2,
    "name": "Name",
    "version": "0.4",
    "description": "some description",
    "permissions": [
        "tabs", "*://www.somesite.com/*"
    ],
    "background": {
        "persistent": false,
        "scripts": ["background.js"]
    },
    "content_scripts": [
        {
            "matches": ["*://www.somesite.com/*"],
            "js": ["components/jquery/jquery.min.js", "main.js"],
            "run_at": "document_end",
            "all_frames": true
        }
    ]
}

在选项卡中获取背景页检查器的最简单方法是使用。如果你喜欢冒险,你可以自己编写和实现前端,使用API

如果您神智正常,只需使用
--远程调试端口
标志启动Chromium即可。这将创建一个本地服务器(只能从您自己的机器中访问),可通过
http://localhost:
。然后,您可以使用此页面检查背景页面并与之交互

下面是一个屏幕截图,显示了正在使用的功能:

注意:每个页面只能有一个调试实例处于活动状态。如果打开内置devtools,则在刷新devtools页面并显示以下消息之前,localhost上的检查器将被禁用:

远程调试已终止,原因是:已将\u替换为\u devtools
请重新连接到新目标


在选项卡中获取背景页检查器的最简单方法是使用。如果你喜欢冒险,你可以自己编写和实现前端,使用API

如果您神智正常,只需使用
--远程调试端口
标志启动Chromium即可。这将创建一个本地服务器(只能从您自己的机器中访问),可通过
http://localhost:
。然后,您可以使用此页面检查背景页面并与之交互

下面是一个屏幕截图,显示了正在使用的功能:

注意:每个页面只能有一个调试实例处于活动状态。如果打开内置devtools,则在刷新devtools页面并显示以下消息之前,localhost上的检查器将被禁用:

远程调试已终止,原因是:已将\u替换为\u devtools
请重新连接到新目标


“主”窗口是什么?
chrome://extensions/
page?如果要检查多个扩展,该怎么办?或者如果您想检查
chrome://extensions/
本身?默认情况下,这是不可能的,尽管可以在选项卡中使用背景检查器。@RobW我不是指扩展页。我的意思是让它停靠在“正常”的当前选项卡窗口或chrome实例上。(事实上,我使用chrome的方式是,我总是只有一个窗口)我希望它像标准的开发工具一样工作,而不是在一个单独的窗口中。什么是“主”窗口?
chrome://extensions/
page?如果要检查多个扩展,该怎么办?或者如果您想检查
chrome://extensions/
本身?默认情况下,这是不可能的,尽管可以在选项卡中使用背景检查器。@RobW我不是指扩展页。我的意思是让它停靠在“正常”的当前选项卡窗口或chrome实例上。(事实上,我使用chrome的方式,我总是只有一个窗口)我希望它像标准的开发工具一样运行,而不是在一个单独的窗口中。似乎我仍然没有清楚地说明这个问题,为此我道歉。我正在构建一个扩展,通过内容脚本改变现有站点的内容。然而,这个扩展还将为不同的任务提供一个背景脚本,这些任务和我希望在同一个开发工具面板中看到的内容脚本一样,因为我基本上都在那里。我不需要新窗口,也不需要新选项卡。我要一张账单。似乎我必须将日志消息从后台脚本传递到内容脚本。似乎我仍然没有清楚地说明问题,为此我道歉。我正在构建一个扩展,通过内容脚本改变现有站点的内容。然而,这个扩展还将为不同的任务提供一个背景脚本,这些任务和我希望在同一个开发工具面板中看到的内容脚本一样,因为我基本上都在那里。我不需要新窗口,也不需要新选项卡。我要一张账单。似乎我必须将日志消息从后台脚本传递到内容脚本。