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