Расширение Chrome [onConnect.addListener, port.postMessage]: Как я могу отправить сообщение с моего расширения на мое расширение, установленное на любом компьютере? - PullRequest
0 голосов
/ 01 марта 2012

Как указано в заголовке, я хотел бы знать, как отправить сообщение на мое расширение, установленное на любых компьютерах.

Я использовал script.js (в background_page):

chrome.extension.onConnect.addListener(function(port) {
    if(port.name == 'myport')  
    port.onMessage.addListener(function(msg){
        console.log(msg.text, msg.nick, msg.date);
        port.postMessage({ backTxt:msg.text, backNick:msg.nick, backDate:msg.date   });
    });

});

Я создал createHTMLNotification("otherpage.html") в script.js.В 'otherpage.html' у меня есть manage_msg.js.

mnage_msg.js:

"when keydow event == 'enter' " -> port.postMessage({text:text, nick:nick, date:date});    

port = chrome.extension.connect({name: "myport"});

port.onMessage.addListener(function(msg) {
            html = '<div class="date">'+msg.backDate+'</div><div class="nick">'+msg.backNick+'</div><div class="testo"></div>';

            box_chat = new Element("div",{ class:"box", html:html });
            box_chat.inject($("container_boxes"));
            box_chat.getElements(".text")[0].set("text", msg.backTxt);

            canISetSlider();
        });

Проблема в том, что такое сообщение приходит только мне, отправителю.Поэтому только мой HTMLNotification идет на обновление.

1 Ответ

0 голосов
/ 23 марта 2012

Этот механизм не предназначен для отправки сообщений другим экземплярам вашего расширения в других браузерах - он предназначен для отправки сообщений между различными контекстами вашего расширения.Если вы хотите общаться с другими экземплярами вашего плагина, вам, вероятно, придется использовать внешний сервер, который передает сообщения с вашего компьютера на компьютеры других пользователей.

...