从内容脚本获取eventPage的首选方法是什么?旧方法(chrome.extension.getBackgroundPage
)已替换为chrome.runtime.getBackgroundPage
,但无法从内容脚本访问chrome.runtime
API。
答案 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
永远不会起作用;你只能向它发送信息(如上所述)。