javascript - Chrome扩展消息传递: verify the sender

标签 javascript google-chrome google-chrome-extension

我正在编写一个 Chrome 扩展,其中内容脚本向后台脚本发送消息。

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

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

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

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

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

最佳答案

你不必这样做。

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

  1. chrome.runtime.onMessage - 它适用于您自己的扩展程序发送的消息。 sender 用于确定上下文,即选项卡 ID。

  2. chrome.runtime.onMessageExternal - 它适用于其他来源(无论是其他扩展程序还是网页)发送的消息。其中,sender 将包含扩展 ID 或相关页面的 URL。

    请注意,您可以在 list externally_connectable key 中显式限制外部消息的可能发件人。 。默认策略是禁止网页并允许所有扩展。

关于javascript - Chrome扩展消息传递: verify the sender,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25437546/

相关文章:

c# - 从 IIS 获取 ERR_CONNECTION_RESET 而日志中没有信息

html - border-radius 在 webkit 中的选择标签 buggy 上边框超过 1px

javascript - Chrome 扩展程序不与用户交互

jquery - 在 chrome 扩展上保持相同的值

java - 我可以通过 Chrome 插件执行本地程序吗?

javascript - jQuery 将事件的水平菜单项滚动到中心

javascript - 无法绑定(bind)窗口方法: "Invalid calling object"

javascript - 当任何查看 js 代码的人都可以看到 javascript API key 时,它有什么意义

google-chrome - 嵌入式 Vimeo(iframe)全屏在 chrome 中不起作用

javascript - 如何在AngularJS中上传图像时自动压缩图像