Chrome扩展程序sendMessage

Tom*_*m B 2 javascript google-chrome sendmessage google-chrome-extension

此处的文档似乎很糟糕: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);
    });
});
Run Code Online (Sandbox Code Playgroud)

然后我的background.js有这个:

chrome.extension.onMessage.addListener(

    function(request, sender, sendResponse) {
        chrome.pageAction.show(sender.tab.id);
    } 
});
Run Code Online (Sandbox Code Playgroud)

哪个应该非常简单.如果有textarea,请显示图标.

我已尝试过示例代码中的各种变体,但没有任何作用.我得到的只是:

端口错误:无法建立连接.接收端不存在.

在控制台中.

我出错的任何想法?

ron*_*ron 6

我认为你在后台脚本中有一个额外的花括号.

chrome.extension.onMessage.addListener(

    function(request, sender, sendResponse) {
        chrome.pageAction.show(sender.tab.id);
    } 
});
Run Code Online (Sandbox Code Playgroud)

应该

chrome.extension.onMessage.addListener(

    function(request, sender, sendResponse) {
        chrome.pageAction.show(sender.tab.id);
    } 
);
Run Code Online (Sandbox Code Playgroud)