javascript - 使用 javascript 启动后台进程

标签 javascript browser

一般来说,我知道不能在浏览器中从 javascript 调用系统库或 dll。但在许多应用程序中,我看到浏览器启动了其他进程。例如:

  1. 只要我打开 Google Plus,它就会在后台启动 googletalkplugin.exe(来自文件夹 C:\Users\Jatin\AppData\Local\Google\Google Talk Plugin)。 (可以在资源监视器中查看)
  2. 与 Facebook 视频聊天相同。第一次,它要求我安装一个插件,稍后当我开始聊天时,它会启动一个进程。
  3. 在 Torrent 网站上,它们提供磁力链接。单击 torrent 磁力链接,它会打开我的系统默认 torrent 客户端。

在某种程度上,flash 和 applet 也是如此。

浏览器如何触发另一个进程并与之通信?是否缺少任何开放标准?

最终我想做视频、录音和截屏。对于屏幕录制,Java 小程序似乎是唯一的解决方案,但小程序有其自身的问题。

最佳答案

Flash 播放器和小程序使用插件,它们是操作系统的 native 应用程序(即(主要)不是 JavaScript),它们不是扩展而是插件。对于 Chrome,请参阅 chrome://plugins/以查看已安装插件的列表。

编写浏览器插件,引用How to write a browser plugin?

种子链接则完全不同,它们是通过注册一个url协议(protocol)来处理的。换句话说,你对计算机说,从现在开始,我将运行任何具有 torrent 协议(protocol)的 url,即:以 torrent:// 开头>。请参阅:Uri Scheme

当浏览器看到 uri 时,它知道它本身不处理 torrent 协议(protocol),所以它把它委托(delegate)给操作系统,操作系统知道如何处理它。

如果浏览器确实知道如何处理它,它可能不会将其委托(delegate)给操作系统。例如:Google Chrome 可以很好地处理 mailto: 链接,而无需注册要由操作系统处理的 mailto 协议(protocol)。

关于javascript - 使用 javascript 启动后台进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18589669/

相关文章:

actionscript-3 - 预加载器在 IE 中拖延 Flash 电影

javascript - 强制浏览器重新加载页面(忽略缓存)

javascript - Dojo 或 Javascript 中的观察者

javascript - Ipad:window.height() 在 Safari 中给出错误值,但在 Chrome 中则不然

java - Spring Boot : java. awt.HeadlessException

javascript - 如何在 JavaScript 中获取 CPU 使用率?

javascript - 提交按钮在 ie7 中被 chop

javascript - Javascript onBlur 事件在 html 文件中出现错误

Javascript从打开的窗口获取元素

html - Hashlink 在 Safari 中不起作用