如何从内容脚本中获取事件页面?

时间:2014-03-01 20:51:33

标签: google-chrome google-chrome-extension content-script

从内容脚本获取eventPage的首选方法是什么?旧方法(chrome.extension.getBackgroundPage)已替换为chrome.runtime.getBackgroundPage,但无法从内容脚本访问chrome.runtime API。

1 个答案:

答案 0 :(得分:9)

chrome.extension.getBackgroundPage方法是从浏览器操作页面访问后台页面。要访问background / event-page js,下面的代码应该来自内容脚本:

 chrome.runtime.sendMessage({greeting: "hello"}, function(response) {
   console.log(response.farewell);
 });

在后台页面/事件页面JS中,您必须设置一个侦听器来侦听来自内容脚本的请求:

chrome.runtime.onMessage.addListener(
 function(request, sender, sendResponse) {
    console.log(sender.tab ?
            "from a content script:" + sender.tab.url :
            "from the extension");
    if (request.greeting == "hello")
        sendResponse({farewell: "goodbye"});
});

希望这会有所帮助。来自内容脚本的chrome.runtime.getBackgroundPage永远不会起作用;你只能向它发送信息(如上所述)。