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

时间:2014-11-05 20:14:53

标签: google-chrome-extension

我正在尝试使用以下代码从background.jscontent.js发送消息:

背景

chrome.runtime.sendMessage({'method': 'test'});

内容

chrome.runtime.onMessage.addListener(function(message,sender,sendResponse){
  if(message.method == 'test')
    console.log('Got message');
});

background.js收到来自popup.js的特定邮件时,会在点击事件中发送后台邮件。因此,用户单击弹出窗口中的按钮,然后将消息发送到后台,然后发送到内容。

我感觉我的问题与以下事实有关:当弹出窗口(这是一个单独的选项卡)中单击按钮时,内容脚本不会接收它,因为它不是当前活动的选项卡。 / p>

请帮帮我。

1 个答案:

答案 0 :(得分:13)

Chrome API中有2个sendMessage个功能。

因此,要向内容脚本发送消息,您需要使用chrome.tabs。要从内容脚本(或扩展页面)发送消息,您需要使用chrome.runtime

在这两种情况下,事件都为chrome.runtime.onMessage

有关详细信息,请参阅Messaging docs