Javascript 内容脚本未获取消息

Javascript 内容脚本未获取消息,javascript,jquery,google-chrome-extension,Javascript,Jquery,Google Chrome Extension,我的后台脚本打开一个新选项卡,然后在此选项卡上执行jQuery,然后执行脚本并发送脚本需要的消息 问题是脚本没有收到消息 background.js chrome.tabs.create({url: myUrl}, function(tab){ chrome.tabs.executeScript(tab.id, {file: 'jquery-2.1.4.min.js'}, function(){ chrome.tabs.executeScript(tab.

我的后台脚本打开一个新选项卡,然后在此选项卡上执行jQuery,然后执行脚本并发送脚本需要的消息

问题是脚本没有收到消息

background.js

chrome.tabs.create({url: myUrl}, function(tab){
        chrome.tabs.executeScript(tab.id, {file: 'jquery-2.1.4.min.js'}, function(){
            chrome.tabs.executeScript(tab.id, {file: 'myScript.js'});
            chrome.tabs.sendMessage(tab.id, {myMessage: message.myMessage});
            })
        });
alert('It works!');

chrome.runtime.onMessage.addListener(function(message) {
    alert('Also here!');
});
myScript.js

chrome.tabs.create({url: myUrl}, function(tab){
        chrome.tabs.executeScript(tab.id, {file: 'jquery-2.1.4.min.js'}, function(){
            chrome.tabs.executeScript(tab.id, {file: 'myScript.js'});
            chrome.tabs.sendMessage(tab.id, {myMessage: message.myMessage});
            })
        });
alert('It works!');

chrome.runtime.onMessage.addListener(function(message) {
    alert('Also here!');
});

因此,“它可以工作!”会弹出,但“也在这里!”不会弹出。

由于
chrome.tabs.executeScript
是异步的,您还必须等待
myScript.js
加载后才能向其发送消息:

chrome.tabs.create({url: myUrl}, function(tab){
    chrome.tabs.executeScript(tab.id, {file: 'jquery-2.1.4.min.js'}, function(){
        chrome.tabs.executeScript(tab.id, {file: 'myScript.js'}, function(){
            chrome.tabs.sendMessage(tab.id, {myMessage: message.myMessage});
        });
    });
});

您是否具有访问
myUrl
域的权限?以下是不检查时发生的情况:
Unchecked runtime.lastError运行tabs.executeScript:无法访问页面内容。扩展清单必须请求访问相应主机的权限。
您是否检查了后台页面的chrome调试器?非常感谢!我知道这与秩序有关。