Chrome扩展程序:邮件传递

时间:2013-04-24 17:45:01

标签: google-chrome-extension message-passing

我坚持使用Google Chrome扩展程序传递消息。

我有这个popup.js:

chrome.runtime.onMessage.addListener(
  function(request, sender, sendResponse) {
    if (request.do == 'popup_refreshMessage')
      jQuery('#message').html(request.message);
  }
); 

jQuery('input[type=button]').click(function(){
  chrome.runtime.sendMessage({
    do: "background_start"
  });
});

和这个popup.html:

<html>
<body>
  Message: 
  <div id="message"></div>

  <input type="button" value="Start">
</body>
</html>

现在,我希望后台页面能够在弹出窗口中定期刷新消息。所以,background.js看起来像这样:

chrome.runtime.onMessage.addListener(
  function(request, sender, sendResponse) {
    if (request.do == 'background_start') {
      var periodicFunc = function() {
        request.callback({
          do: "popup_refreshMessage",
          message: Math.random()
        });
        setTimeout(myFunc, 1000);
      }
    periodicFunc();
  }
});

但是当我点击按钮时,没有任何事情发生,并且“Uncaught TypeError:无法调用方法'addListener'的未定义”出现在控制台中。

如何在弹出窗口中编写后台页面以定期更新HTML?谢谢。

0 个答案:

没有答案