后台发送消息时未加载content_script

时间:2018-05-08 14:20:25

标签: google-chrome-extension

在我的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');
  }
);    

0 个答案:

没有答案