В моем расширении 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');
}
);