Chrome扩展程序消息传递:验证发件人

时间:2014-08-21 23:37:19

标签: javascript google-chrome google-chrome-extension

我正在编写一个chrome扩展程序,其中content-script将消息发送到后台脚本。

chrome.runtime.sendMessage({greeting: "hello"}, function(response) {
  console.log(response.farewell);
});

当background.js收到此消息时,它会获取具有

的发件人信息
{ ID, tab, url }

我想验证此邮件是由属于我的扩展程序的内容脚本发送的,而不是其他内容。

如何验证发件人ID,background.js如何获取扩展ID。

1 个答案:

答案 0 :(得分:2)

你不必。

有两个与消息相关的不同事件:

  1. chrome.runtime.onMessage - 您自己的分机发送的邮件sender用于确定上下文,即标签ID。

  2. chrome.runtime.onMessageExternal - 对于其他来源发送的邮件,,无论是其他扩展程序还是网页。在那里,sender将包含扩展ID或相关网页的网址。

    请注意,您可以在externally_connectable key中明确限制清单中外部邮件的可能发件人。默认策略是禁止网页并允许所有扩展名。