在我的chrome扩展程序中,我的后台脚本向content_script发送一条消息,该消息作为页面的一部分加载。 content_script似乎没有收到消息,我认为它是因为当后台脚本触发消息时它没有被加载。如果我在发送消息之前在后台脚本中放置了5秒的延迟,那么它可以工作。是否有另一种方法可以在关闭消息之前检查content_script是否准备就绪?
清单
"manfiest_version": 2,
"content_scripts": [
{
"matches" : [ "https://example.com/*" ],
"js": ["content_scripts.js"]
}
],
background.js
chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
console.log('sending msg to tab '+tabs[0].id);
chrome.tabs.sendMessage(tabs[0].id, {message: "hello"}, function(response) {});
});
content_script.js
chrome.runtime.onMessage.addListener(
function(msg, sender, sendResponse) {
console.log('content_script received msg');
}
);