Javascript 当在不同选项卡中打开Chrome DevTools扩展时,会加载两次

Javascript 当在不同选项卡中打开Chrome DevTools扩展时,会加载两次,javascript,google-chrome,google-chrome-extension,Javascript,Google Chrome,Google Chrome Extension,我正在DevTools中构建一个Chrome扩展。除非我在另一个选项卡中打开它,否则效果会很好。当它在另一个选项卡中打开时,它会为DevTools扩展打开的每个实例加载我的inserted-script.js文件。这可能是什么原因造成的?我很高兴能与大家分享我能做的,但我不确定从哪里开始 编辑:下面是manifest.json文件: { "name": "My DevTools Thing", "version": "0.5", "description": "Hello

我正在DevTools中构建一个Chrome扩展。除非我在另一个选项卡中打开它,否则效果会很好。当它在另一个选项卡中打开时,它会为DevTools扩展打开的每个实例加载我的inserted-script.js文件。这可能是什么原因造成的?我很高兴能与大家分享我能做的,但我不确定从哪里开始

编辑:下面是manifest.json文件:

{
    "name": "My DevTools Thing",
    "version": "0.5",
    "description": "Hello.",
    "devtools_page": "devtools.html",
    "background": {
        "scripts": [
            "js/background.js"
        ]
    },
    "permissions": [
        "activeTab",
        "http://*/*",
        "https://*/*"
    ],
    "web_accessible_resources": [
        "js/content.js"
    ],
    "manifest_version": 2
}
编辑2:添加一些进一步的上下文-假设我在选项卡1上打开了devTools,它所做的一切都显示“Hello!”。它第一次打开时显示一次

然后我打开一个新选项卡,打开devTools,然后打开我的扩展,它显示:

“你好!”

“你好!”

在我的原始选项卡上,它现在添加了:

“你好!”(原文)

“你好!”(来自新选项卡)

“你好!”(来自新选项卡)

如果我打开第三个选项卡并打开扩展

“你好!”x3(新标签)


其他选项卡将附加原始选项卡中的3个“Hello!”。

您可以使用扩展名的清单文件控制内容脚本的执行,防止内容脚本加载到Iframe或一组特定的URL中。下面是清单文件的一个示例:

"all_frames": true,
"js": [ "ContentOnDocStart.js" ],
"matches": [ "http:///", "https:///" ],
"exclude_matches": [ ],
"run_at": "document_start"

另外,包括“chrome.tabs.onUpdate.addListener”会触发每个选项卡。

在有人帮助您之前,您必须先显示代码。