Javascript chrome.runtime.onMessage.addListener不';无法在内容脚本中工作
在chrome extension中,我尝试将消息从后台脚本发送到内容脚本。我无法在内容脚本中获取消息。我哪里出了问题?下面是background.jsJavascript chrome.runtime.onMessage.addListener不';无法在内容脚本中工作,javascript,Javascript,在chrome extension中,我尝试将消息从后台脚本发送到内容脚本。我无法在内容脚本中获取消息。我哪里出了问题?下面是background.js function createAlarm() { chrome.alarms.create('bookcab', { periodInMinutes: 1 }); } chrome.alarms.onAlarm.addListener(function(alarm) { if (alarm.name =
function createAlarm() {
chrome.alarms.create('bookcab', {
periodInMinutes: 1
});
}
chrome.alarms.onAlarm.addListener(function(alarm) {
if (alarm.name === 'bookcab') {
var url = 'http://cab/';
chrome.tabs.create({ url:url, active: true });
chrome.tabs.query({active:true}, function(tabs){
chrome.tabs.sendMessage(tabs[0].id, {"message": "sample_msg"});
});
}
});
createAlarm();
content_script.js有以下代码
chrome.runtime.onMessage.addListener(
function(request,sender,sendresponse) {
if( request.message === "sample_msg" ) {
console.log('message from content script');
}
}
);
这是manifest.json,如果它重要的话
{
"manifest_version": 2,
"name":"bookcab",
"version":"0.1",
"background": {
"scripts":["background.js"]
},
"permissions": [
"alarms",
"tabs"
],
"content_scripts": [{
"matches":["<all_urls>"],
"js": ["content_script.js"],
"run_at" : "document_end"
}]
}
{
“清单版本”:2,
“名称”:“bookcab”,
“版本”:“0.1”,
“背景”:{
“脚本”:[“background.js”]
},
“权限”:[
“警报”,
“选项卡”
],
“内容脚本”:[{
“匹配项”:[“”],
“js”:[“content_script.js”],
“运行时间”:“文档结束”
}]
}
在将消息发送到内容脚本之前,我包含了一个选项卡加载完成
等待选项卡完全加载
chrome.tabs.onUpdated.addListener(function (tabId, changeInfo, tab) {
if (changeInfo.status == 'complete') {
chrome.tabs.query({active: true}, function(tabs){
chrome.tabs.sendMessage(tabs[0].id, {"message": "sample_msg"});
}
}
});
在将消息发送到内容脚本之前,我已经包含了一个选项卡加载完成 等待选项卡完全加载
chrome.tabs.onUpdated.addListener(function (tabId, changeInfo, tab) {
if (changeInfo.status == 'complete') {
chrome.tabs.query({active: true}, function(tabs){
chrome.tabs.sendMessage(tabs[0].id, {"message": "sample_msg"});
}
}
});