Google chrome extension 将消息从web应用发送到扩展

Google chrome extension 将消息从web应用发送到扩展,google-chrome-extension,Google Chrome Extension,我有一个扩展,它为任何需要它们的web应用程序提供许多服务。我一直假设web应用程序可以使用chrome.runtime.sendMessage(ext id,message),但当我尝试时,chrome.runtime上没有sendMessage函数 我是否误解了sendMessage可以在哪里使用,是否还有其他技术可以用于从任意web应用程序到我的扩展进行通信?有几个选项 首先,最接近你现在的想法。您希望能够向任意网页添加专有的、特定于Chrome的功能。External_connectab

我有一个扩展,它为任何需要它们的web应用程序提供许多服务。我一直假设web应用程序可以使用chrome.runtime.sendMessage(ext id,message),但当我尝试时,chrome.runtime上没有sendMessage函数


我是否误解了sendMessage可以在哪里使用,是否还有其他技术可以用于从任意web应用程序到我的扩展进行通信?

有几个选项

首先,最接近你现在的想法。您希望能够向任意网页添加专有的、特定于Chrome的功能。External_connectable将为您提供有限版本的(请参见示例),但仅适用于特定网页(例如,*.yourdomain.com,但不适用于*.com)

其次,您可以将web页面中的消息发布到内容脚本(请参阅),内容脚本可以执行任何操作。如果您当时需要chrome.*API,您可以将消息从内容脚本发送到扩展的页面,该页面可以访问它要求的任何chrome.*API

最后,根据您的“服务数量”的实际情况,您始终可以将另一个脚本直接执行到目标网页中,这类似于强制网页将其包含为另一个标记。(仅与类似,不完全相同,因为注入通常发生在页面加载之后。)