Я пытаюсь написать простой плагин для chrome, и у меня есть скрипт контента и само расширение. Я пытаюсь настройки простого обмена сообщениями, согласно Google Docs: HereПростые сообщения в расширении Google chrome
Вот мой manifest.json
файл:
{
"manifest_version": 2,
"name": "My Plugin",
"description": "My Plugin",
"version": "1.0",
"browser_action": {
"default_icon": "icon.png",
"default_popup": "popup.html"
},
"permissions": [
"activeTab"
],
"content_scripts": [
{
"matches": ["*://*/*"],
"js": ["js/content.js"]
}
]
}
А вот content.js
файл:
chrome.runtime.onMessage.addListener(
function (request, sender, sendResponse) {
debugger;
if (request.action === "GetPageContent") {
sendResponse({ dom: document.documentElement.outerHTML });
}
}
);
А вот фрагмент кода от app.js
thats отправить сообщение в файл сценария содержания:
chrome.tabs.getSelected(null, function (tab) {
chrome.tabs.sendMessage(tab.id, { action: "GetPageContent" }, function (response) {
console.log(response);
});
});
Так что, когда я нажимаю кнопку, чтобы вызвать выполнение, он не в content.js
файле на линии sendResponse({ dom: document.documentElement.outerHTML });
поговорку, что:
chrome.runtime.onMessage.addListener
Error in event handler for runtime.onMessage:
Error: Attempting to use a disconnected port object
Что это значит? Я не использую ни один порт, также в документах Google также нет никаких упоминаний о портах для простого обмена сообщениями. Спасибо!