Chrome用の簡単なプラグインを作成しようとしていますが、コンテンツスクリプトと拡張機能自体があります。私はGoogleドキュメントに従って、セットアップの簡単なメッセージングにしてみてください:Google Chrome拡張機能の簡単なメッセージ
chrome.runtime.onMessage.addListener(
function (request, sender, sendResponse) {
debugger;
if (request.action === "GetPageContent") {
sendResponse({ dom: document.documentElement.outerHTML });
}
}
);
そして、ここではapp.js
からの抜粋コードです:
{
"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
ファイルは次のとおりです。 Here
ここでは私のmanifest.json
ファイルですコンテンツスクリプトファイルにメッセージを送信する:
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ドキュメントでは、シンプルなメッセージングのためのポートについての言及もありません。 ありがとう!