问题描述
我一直试图在一个选项卡上运行一个内容脚本(primary-script.js),然后复制该选项卡并在第二个选项卡上运行第二个内容脚本(secondary-script.js),但是这些脚本是没有运行。
manifest.json
{
"name": "ext","version": "1.0.0","description": "","manifest_version": 2,"permissions": [
"https://*/*","http://*/*","webNavigation","activeTab","tabs"
],"background": {
"scripts": ["background.js","hot-reload.js"],"persistent": false
},"browser_action": {
"default_title": "Inject!","default_popup": "popup.html"
}
}
background.js
const primaryScript = 'primary-tab.js'
const secondaryScript = 'secondary-tab.js'
chrome.runtime.onInstalled.addListener(() => {
console.log('[background] chrome.runtime.onInstalled initialize')
})
// https://developer.chrome.com/extensions/webNavigation
// https://developer.chrome.com/extensions/background_pages#filters
chrome.webNavigation.onCompleted.addListener(
function () {
chrome.tabs.query({ url: '<my_site>' },(tabs) => {
console.log({ tabs })
if (tabs.length === 1) {
const [currentTab] = tabs
chrome.tabs.executeScript(currentTab.id,{
// file: primaryScript,// runAt: 'document_end',code: 'console.log("Primary.")',})
chrome.tabs.create(
{ url: currentTab.url,selected: false },(duplicateTab) => {
chrome.tabs.executeScript(duplicateTab.id,{
// file: secondaryScript,code: 'console.log("Secondary.")',})
}
)
}
})
},{ url: [{ urlMatches: '<my_site>' }] }
)
在我使用console.log
的两个实例中的chrome.tabs.executeScript()
都不会在我访问这些网页时运行,但是重复的标签会打开。我期望两个选项卡的devtool中都有不同的console.log
。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)