Chrome拡張機能を初めて使用しています。私はコンテンツスクリプトとのbackground.htmlページの間でやりとりをしようとしています。 background.htmlはコンテンツスクリプトに "hello"というリクエストを送信し、コンテンツスクリプトは "hello background"というアラートで応答する必要があります。しかし、それは起こっていないだけです。マイbackground.htmlコードは次のとおりです。Chrome拡張機能:コンテンツスクリプトとbackground.htmlの間の通信
function testRequest() {
chrome.tabs.getSelected(null, function(tab) {
chrome.tabs.sendRequest(tab.id, {greeting: "hello"});
});
}
content.jsコード:
chrome.extension.onMessage.addListener(
function(request, sender, sendResponse) {
if (request.greeting == "hello")
alert("hello background");
}
);
popup.htmlコード:
<!doctype html>
<html>
<head></head>
<body>
<form>
<input type="button" value="sendMessage" onclick="testRequest()" />
</form>
</body>
</html>
manifest.jsonを:
{
"browser_action": {
"default_icon": "icon.png",
"popup": "popup.html"
},
"background": {
"page": "background.html"
},
"permissions": [
"tabs",
"http://*/*",
"https://*/*",
"notifications",
"contextMenus"
],
"content_scripts": [
{
"matches": ["http://*/*","https://*/*"],
"js": ["content.js"]
}
],
"name": "FirstExtension",
"version": "1.0"
}
助けてください!
ありがとうRob! :) – Chandeep
@ user975234 Tge [onMessage'のドキュメント(http://code.google.com/chrome/extensions/extension.html#event-onMessage)は、実際の状況とは一応一致しません。詳細については、http://stackoverflow.com/a/11811936を参照してください。 –