Javascript 当在不同选项卡中打开Chrome DevTools扩展时,会加载两次
我正在DevTools中构建一个Chrome扩展。除非我在另一个选项卡中打开它,否则效果会很好。当它在另一个选项卡中打开时,它会为DevTools扩展打开的每个实例加载我的inserted-script.js文件。这可能是什么原因造成的?我很高兴能与大家分享我能做的,但我不确定从哪里开始 编辑:下面是manifest.json文件: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
{
"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”会触发每个选项卡。在有人帮助您之前,您必须先显示代码。