Chrome扩展程序:从popup.js到content.js的消息

时间:2014-11-04 14:48:28

标签: google-chrome-extension

在我的Chrome扩展程序中,我正在尝试从popup.jscontent.js发送消息。这需要基于弹出窗口中的事件发生,因此无法从内容或背景中的消息触发。

我正在使用以下代码来测试消息是否正在传递。

popup.js

chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
          chrome.tabs.sendMessage(tabs[0].id, {greeting: "hello"}, function(response) {
             alert(response.farewell);
          });
        });

content.js

chrome.runtime.onMessage.addListener(
    function(request, sender, sendResponse) {
        alert(sender.tab ?
                "from a content script:" + sender.tab.url :
                "from the extension");

        if (request.greeting == "hello")
            sendResponse({farewell: "goodbye"});
  });
;

问题是,当我打开新标签时,而不是当我处于活动标签页时,才会传递(提醒)消息。

这个想法是用户能够在弹出窗口中选择一个设置,然后使content.js通过不同的数据发送。因此,只要用户点击特定按钮,我就能发送消息。

有人可以提供帮助,因为在其他所有问题中我都会看到有关消息传递的Google页面链接。这段代码直接来自那里。

0 个答案:

没有答案