【发布时间】:2014-04-19 17:59:50
【问题描述】:
所以我已经问过这个问题了,但是给出的回答没有用(我已经用之前的一些建议更新了这篇文章)...这是该问题的链接,以防万一想试一试这个也想看看之前说了什么。
Chrome extension: sendMessage doesn't work
我已经多次阅读 Google 提供的关于“消息传递”的文档,并且可能已经查看了 10 多个具有相同问题的其他问题,并且已经尝试过对其大多数“解决方案”的一些变体以及什么我有下面...这是黑魔法,对吧?无论哪种方式,都可以。
manifest.json 文件:
{
"manifest_version" : 2,
"name" : "Message Test",
"version" : "1.0",
"browser_action": {
"default_popup": "popup.html"
},
"content_scripts": [
{
"matches" : ["<all_urls>"],
"js": ["message-test.js"]
}
]
}
popup.html 文件:
<html>
<body>
<script type="text/javascript" src="popup.js"></script>
</body>
</html>
popup.js 文件:
chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
var tab = tabs[0]; // do not forget to declare "tab" variable
chrome.tabs.sendMessage(tab.id, {
greeting: "Can you hear me?"
}, function(response){});
});
message-Test.js 文件:
chrome.runtime.onMessage.addListener(function(message, sender, sendResponse) {
if (message.greeting == "Can you hear me?"){
alert("Test");
}
else{
sendResponse({});
}
});
警报(“测试”)没有响起...
【问题讨论】:
-
它对我有用。使用 console.log() 函数对其进行调试,以找出卡在哪一行。同时用这个 log() 替换 alert()。然后你可以检查控制台。注意:弹出窗口的控制台(右键单击>检查元素)与内容控制台 (F12) 不同。
标签: javascript google-chrome google-chrome-extension