2013-10-16 89 views
0

我有一个扩展,它提供了许多服务,以任何需要他们的Web应用程序。我一直假设一个Web应用程序可以使用chrome.runtime.sendMessage(ext-id,message),但是当我尝试时,chrome.runtime上没有sendMessage函数。从网络应用程序发送消息到扩展

我误解了sendMessage可以使用的地方,还有另一种技术可以用来从任意Web应用程序与我的扩展进行通信?

回答

0

有几个选项。

首先,http://developer.chrome.com/extensions/manifest/externally_connectable.html是最接近你现在的想法。您期望能够将专有的Chrome特定功能添加到任意网页。 externally_connectable会给你一个限制版本(例如参见http://developer.chrome.com/extensions/messaging.html#external-webpage),但只限于特定的网页(例如* .yourdomain.com而不是* .com)。其次,你可以从你的网页postMessage到一个内容脚本(见http://developer.chrome.com/extensions/content_scripts.html#host-page-communication),它可以做任何内容脚本可以做的事情。如果您需要chrome * API,那么您可以从内容脚本向您的扩展页面发送消息,该扩展页面可以访问任何Chrome浏览器*所需的API。最后,根据您的“服务数量”实际是什么,您可以始终将另一个脚本脚本直接执行到目标网页中,这与强制网页将它包含在一起,就好像它是另一个<脚本>标记一样。 (仅与其类似,并不相同,因为注入通常在页面加载后发生。)

+0

非常感谢。你的第一个建议完全适合。 – pinoyyid

相关问题