我正在编写一个 Chrome 扩展,其中内容脚本向后台脚本发送消息。
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。请注意,您可以在 list
externally_connectable
key 中显式限制外部消息的可能发件人。 。默认策略是禁止网页并允许所有扩展。
关于javascript - Chrome扩展消息传递: verify the sender,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25437546/