这里的文档看起来很糟糕:http://code.google.com/chrome/extensions/messaging.html
我想要我的内容脚本,只需在页面上显示textarea时显示pageIcon。
我的content.js(使用jquery)执行此操作:
$('textarea').each(function() {
chrome.extension.sendMessage({greeting: "hello"}, function(response) {
console.log(response);
});
});
然后我的background.js有了这个:
chrome.extension.onMessage.addListener(
function(request, sender, sendResponse) {
chrome.pageAction.show(sender.tab.id);
}
});
哪个应该非常简单。如果有textarea,请显示图标。
我尝试过示例代码中的各种变体,但没有任何效果。我得到的只是:
端口错误:无法建立连接。接收端不存在。
在控制台中。
我出错的任何想法?
答案 0 :(得分:6)
我认为你在后台脚本中有一个额外的花括号。
chrome.extension.onMessage.addListener(
function(request, sender, sendResponse) {
chrome.pageAction.show(sender.tab.id);
}
});
应该是
chrome.extension.onMessage.addListener(
function(request, sender, sendResponse) {
chrome.pageAction.show(sender.tab.id);
}
);