是否可以通过扩展从另一个进程外部触发 Google Chrome 中的 Javascript?

Posted

技术标签:

【中文标题】是否可以通过扩展从另一个进程外部触发 Google Chrome 中的 Javascript?【英文标题】:Is it possible to externally trigger Javascript in Google Chrome from another process, maybe via an extension? 【发布时间】:2010-11-08 18:28:27 【问题描述】:

我希望我的机器上的本地进程能够在我的本地 Google Chrome 浏览器的特定选项卡中触发 javascript。该选项卡未连接到 localhost,而是连接到另一个已知域。

这听起来可能有点奇怪,但我实际上想要做的是允许通过全局操作系统键盘快捷键控制我的浏览器内音乐播放器,这样我就不必转到 Chrome 中的标签例如,暂停或跳过曲目。

我无法在任何地方找到对此类行为的任何引用。以下是我迄今为止想到的一些解决方案:

我尝试查看 Chrome 扩展 API,发现 NPAPI Plugins 似乎允许 javascript 触发外部进程,但我不确定是否可以让它以相反的方式工作? 如果无法直接触发 javascript,我可能会考虑打开一个 html5 WebSocket 到一个可以将控制消息推送到浏览器的小型 localhost 网络服务器。我读过 WebSockets 可以通过这种方式跨域运行。 如果以上两种方法都不起作用,我总是可以让 localhost 进程推送到远程服务器,它可以通过 WebSockets 或其他回调方法将消息转发回我的 Chrome 选项卡。我真的希望我能避免这种情况。

我忽略的 Chrome 扩展是否有可以从外部触发的功能?或者一个 NPAPI 插件可以做我想做的事吗?或者是否有更好的解决方案?对于如此简单的任务,这些似乎都有些不必要的复杂。

【问题讨论】:

【参考方案1】:

我会使用 NPAPI 插件,因为它也是最适合您所做的事情的插件。

祝你顺利完成。

【讨论】:

以上是关于是否可以通过扩展从另一个进程外部触发 Google Chrome 中的 Javascript?的主要内容,如果未能解决你的问题,请参考以下文章

通过通过外部应用程序的意图找到的第一个 chromecast 开始 google 播放音乐

如何从另一个类打印行

Google Polymer:从元素外部监听属性变化

从另一个 div 添加悬停触发器

从另一个插件触发插件 - 不同的主机程序

Angular2 - 从另一个独立组件调用函数。基本上,从外部组件调用函数