Chrome扩展程序消息传递:验证发件人
我正在编写一个chrome扩展,其中content-script将消息发送给后台脚本。
chrome.runtime.sendMessage({greeting: "hello"}, function(response) {
console.log(response.farewell);
});
当background.js收到这条消息时,它会得到发送者的信息
{ ID, tab, url }
我想验证此消息是由属于我的扩展的内容脚本发送的,没有其他内容。
如何验证发件人ID,background.js如何获取扩展名ID。
你不需要。
有两个与消息有关的不同事件:
chrome.runtime.onMessage
- 仅适用于您自己的扩展程序发送的消息。 sender
用于确定上下文,即标签ID。
chrome.runtime.onMessageExternal
- 它仅适用于其他来源发送的消息,不管它是另一个扩展还是网页。 在那里, sender
将包含扩展ID或相关页面的URL。
请注意,您可以在externally_connectable
密钥中明确限制清单中外部消息的可能发送者。 默认策略是禁止网页并允许所有分机。