在我的background.js
中,当在加载期间匹配URL时,它加载了ajax。例如,它是google.com,它会触发ajax并收到一些数据。但是如何将这些数据发送到我的popup.html?
我试过了chrome.runtime.sendMessage
,但我没有得到它。 param发送到哪个文件?
我很困惑。
答案 0 :(得分:2)
当您通过chrome.runtime.sendMessage
发送数据时,您可以通过收听onMessage
事件在弹出窗口中获取数据。
当您从background.js发送消息时,
chrome.runtime.sendMessage({msg: 'hello there'});
你可以在popup.html加载的js文件中获取它:
chrome.extension.onMessage.addListener(function(message, messageSender, sendResponse) {
// message is the message you sent, probably an object
// messageSender is an object that contains info about the context that sent the message
// sendResponse is a function to run when you have a response
});
答案 1 :(得分:0)
你可以编辑你的问题以包含你的manifest.json吗?在提出建议时,这通常非常有用。
假设您的popup.html是内容脚本的一部分,您需要使用chrome.tabs.sendMessage将消息从后台页面发送到内容脚本。
另请考虑在整个扩展程序中使用chromeps进行简单的pubsub样式邮件传播,而不必担心何时使用chrome.runtime
vs chrome.tabs
。