“静默”使用Javascript调用帮助应用程序

时间:2011-10-13 17:20:55

标签: javascript google-chrome-extension

Javascript可以导致浏览器(特别是Chrome for Mac)为URI 调用外部helper application,而无需打开新标签/窗口,或导航离开当前页面?

上下文是我正在为Chrome开发一个偶尔需要在浏览器之外调用特定操作的扩展程序。使用而不是neat trick described here,扩展只需要打开特定的URI来调用合适的AppleScript。

但是,如何从扩展程序background page中运行的脚本中打开此类URI?我不认为XMLHttpRequest会有所帮助,因为Chrome不会(不应该?)尝试使用XHR的外部帮助应用程序;设置window.location.href也不会对这样的背景页面产生任何影响(如果后台页面被卸载则不会出现问题)。

我目前的解决方案是打开一个新窗口,但这对于用户来说是不必要的,而且会分散注意力。

2 个答案:

答案 0 :(得分:0)

这里有几个选项:

  1. 你可以写一个NPAPI插件。
  2. 您可以在浏览器中使用WebSocket客户端,并在桌面上运行本地服务器。通过这种方式,您可以建立到本地计算机的隧道,以执行您想要的任何操作。
  3. 我这样做是为了转发全球媒体按键来控制基于网络的音乐播放器和wrote it up。来源here

答案 1 :(得分:0)

我刚刚意识到我可以在后台页面中使用<iframe/>执行此操作。 Très很简单!