いつもお世話になっております。
chrome拡張機能による、HTML要素の取得をしたいと考えています。
具体的には、コンテキストメニューからのクリックイベントで発火させ、sendMessageで指示をcontent_scriptsにDOM操作をさせる流れです。
そこで以下のコードを記述しているのですが、下記エラーが出て解決できずに途方にくれています。。
Unchecked runtime.lastError: Could not establish connection. Receiving end does not exist.
コードは以下の通りです。
manifest.json
javascript
1{ 2 "name": "Context Menus Sample", 3 "description": "Shows some of the features of the Context Menus API", 4 "version": "0.6", 5 "permissions": [ 6 "contextMenus", 7 "activeTab" 8 ], 9 "content_scripts": [ 10 { 11 "matches": ["*://*/*"], 12 "js": ["contents.js"] 13 } 14 ], 15 "background": { 16 "scripts": [ 17 "background.js" 18 ], 19 "persistent": true 20 }, 21 "icons": { 22 "16": "images/outline_file_copy_white_16pt.png", 23 "48": "images/outline_file_copy_white_48pt.png", 24 "128": "images/outline_file_copy_white_128pt.png" 25 }, 26 "manifest_version": 2 27}
contents.js
javascript
1 chrome.runtime.onMessage.addListener(function (request, sender, sendResponse) { 2 sendResponse({ 3 "text": "ほげほげ" 4 }); 5 });
background.js
javascript
1function genericOnClick(info, tab) { 2 chrome.tabs.query({ 3 active: true, 4 currentWindow: true 5 }, function (tabs) { 6 chrome.tabs.sendMessage(tabs[0].id, { 7 text: "fire" 8 }, function (response) { 9 console.log(response); 10 }); 11 }); 12} 13 14chrome.contextMenus.create({ 15 "title": "sample menu", 16 "contexts": ["page"], 17 "onclick": genericOnClick 18});
chrome extensionの開発は初めてでもしかすると、間抜けな質問をしているのかもしれませんが、どなたかお分かりになるかた、ご教示いただけると助かります。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。