我有一个内容脚本作为我的扩展的一部分,其中的每个指令都被调用两次。这似乎是由于脚本在VM中运行,同时也在其自己的“上下文”中执行。我没有很好地解释它,但包含的截图应该有希望说清楚。任何关于如何解决问题的想法都将非常感激。
background page.js
--------------------------------------------------------------
chrome.tabs.sendMessage(activeTabs[i], actions, function(response){console.log(response.txt);});
--------------------------------------------------------------
content script.js
--------------------------------------------------------------
chrome.runtime.onMessage.addListener(function(msg, sender, sendResponse) {
console.log("called");
var actions = msg;
if(!actions.changed)
{
return;
}
if(actions.previous)
{
previousBut.click();
}
if(actions.next)
{
nextBut.click();
}
if(actions.playPause)
{
pausePlayBut.click();
}
if(actions.shuffle)
{
shuffleBut.click();
}
if(actions.repeat)
{
repeatBut.click();
}
});
-----------------------------------------------------------
manifest
-----------------------------------------------------------
"content_scripts": [
{
"matches": ["https://play.google.com/music/*"],
"js": ["pageController.js"],
"run_at": "document_start"
}
]
-----------------------------------------------------------