到目前为止,我正在从popup.js向background.js发送消息,然后向Chrome Extension中的content.js发送消息。 我使用后台脚本作为中间件。
我只是想知道我是否可以在没有后台脚本的情况下直接向内容脚本发送消息
答案 0 :(得分:3)
是的,你可以。弹出窗口和后台页面之间的唯一区别是弹出窗口仅在弹出窗口打开时加载。您可以在后台页面中使用的所有api,也可以在弹出窗口中使用。因此,例如,如果要将消息发送到当前选项卡中的内容脚本:
chrome.tabs.query({active:true,currentWindow:true},function(tabs){
//tabs is an array even if there is only one result
var message = "stuff goes here";
chrome.tabs.sendMessage(tabs[0].id,message,function(response){
//in case you want a response
});
});