Ссылка this post, я пытаюсь использовать executeScript или sendMessage для передачи переменной в мой файл content.js. Использование Chrome Dev инструменты, я вижу, что он достигает мой файл content.js, и он также работает тест оповещение я вставить, но когда дело доходит доonMessage не выполняется при расширении Chrome
chrome.runtime.onMessage.addListener(function (message, sender, sendResponse) {
он пропускает его полностью. Я не уверен, что здесь происходит?
popup.js
function search() {
var name = document.getElementById('txtSearch').value;
chrome.tabs.executeScript({ file: "jquery.js" }, function() {
chrome.tabs.executeScript(null, {
code: 'var name = ' + name + ';'
}, function() {
chrome.tabs.executeScript({ file: 'content.js' });
});
});
}
document.getElementById('btnSearch').addEventListener('click', search);
или popup.js с помощью SendMessage
function search() {
var name = document.getElementById('txtSearch').value;
chrome.tabs.executeScript({ file: "jquery.js" }, function() {
chrome.tabs.executeScript({ file: 'content.js' }, function() {
chrome.tabs.sendMessage({ name: name });
});
});
}
document.getElementById('btnSearch').addEventListener('click', search);
content.js
alert('hi');
chrome.runtime.onMessage.addListener(function (message, sender, sendResponse) {
console.log(message.name);
});
А что, если вы удалите предупреждение? 'onMessage' не запускается, если в скрипте содержимого есть диалог блокировки: https://crbug.com/456482 –