У меня есть расширение для панели chrome devtools. Я могу отправлять сообщения на страницу с помощью chrome.devtools.inspectedWindow.eval
... но как я могу получать сообщения в панели dev? В частности, мне нужно, чтобы мой devpanel подключался к событиям, которые происходят на странице. Я не могу заставить его слушать события на моем контенте script, а не на фоновом изображении.
Я пробовал chrome.extension.sendMessage
в контенте script вместе с chrome.extension.onMessage.addListener
в панели dev script. Но sendMessage
жалуется на Port error: Could not establish connection. Receiving end does not exist.
Проблема сохраняется с долговременными подключениями:
В содержании script или в фоновой странице:
var port = chrome.extension.connect({name: "test"});
port.postMessage({msg: "testing"});
В панели инструментов dev javascript:
chrome.extension.onConnect.addListener(function(port) {
port.onMessage.addListener(function(msg) {
// never gets here
});
});
Как я могу прослушивать события, которые были запущены в моем контенте script - на панели инструментов Dev? Диаграмма, подобная этому из Firefox Add-On SDK, будет отличной: https://addons.mozilla.org/en-US/developers/docs/sdk/latest/static-files/media/content-scripting-overview.png