1

Battlelog最近由EA与Battlefield 3一起发布,我很好奇它如何能够从Web浏览器启动诸如Battlefield 3之类的游戏?

更一般地说,网站如何在本地启动程序?

4

4 回答 4

9

我是负责 Battlelog 发布部分的开发人员之一。它由已安装的 Web 浏览器插件和 JavaScript 的组合处理。启动游戏基本上要经过这些步骤。

  1. 我们通过使用注册表项找出您安装 BF3.exe 的位置
  2. 我们使用该插件通过几个命令行选项启动该 exe
  3. 当游戏客户端启动时,它会打开一个返回插件的连接,以便在 Battlelog 和游戏之间进行双向通信。
  4. 游戏客户端通过连接发回状态信息和错误信息,因此我们可以在战斗日志中显示进度和错误,也可以知道游戏何时关闭。
于 2011-11-07T18:24:35.597 回答
2

这要归功于您在战斗日志中安装的插件。由于存在巨大的安全风险,网站不允许在您的本地计算机上执行程序。如果您想在浏览器上下文之外完成几乎任何事情,则必须使用插件,这就是为什么您必须在它们尝试运行时明确授予它们安装权限的原因。

于 2011-11-05T03:24:55.527 回答
0

我认为有两种选择。首先,该链接指向一个文件,该文件的扩展名只有该程序可以理解,例如,当您单击 .pdf 链接时,将打开一个 pdf 查看器。我的第二个猜测是该链接可能使用与相关程序关联的另一个协议,该链接是否真的以 http:// 开头?

于 2011-11-03T13:09:29.810 回答
0

我几乎 100% 确定它使用您必须安装的插件来管理启动过程,因为它还控制游戏是否最小化。

于 2011-11-03T13:27:30.927 回答