【问题标题】:EXE from JavaScript [duplicate]来自 JavaScript 的 EXE [重复]
【发布时间】:2010-07-01 05:11:03
【问题描述】:

可能重复:
How can I run a program or batch file on the client side?

我是 JavaScript 新手。我正在尝试在网络浏览器上从 JavaScript 执行 EXE 文件。如何用简单的代码来完成?

【问题讨论】:

标签: javascript html


【解决方案1】:

出于安全原因,这是不可能的。想象一下,您正试图访问客户端的文件系统。

【讨论】:

【解决方案2】:

出于安全原因,通常不允许这样做,但是如果您绝对需要这样做,那么您有几个选择:

  • 提示用户下载并运行可执行文件
  • 使用 WScript.Shell 对象

有关如何执行此操作的详细信息,请参阅this question。 请注意,这几乎肯定不会在大多数浏览器上工作,除非您的站点已被放置在某种“受信任”区域中(如果您正在开发 Intranet 应用程序或在 Html 应用程序/.hta 中运行,则可能会出现这种情况)

  • 使用 ActiveX 控件(这也需要提升权限,但您更有可能至少能够提示用户提供权限)

所有这 3 个选项都需要用户授予信任(他们必须将您的页面/网站置于某个信任级别,或者他们必须点击某种“信任此网站” /“下载此文件”对话框。

(另请注意,所有这些选项都特定于 Windows 操作系统)

【讨论】:

    【解决方案3】:

    正如 sAc 所说,无法直接运行 exe 文件,但如果您希望在 Web 浏览器中执行本机代码,您可能需要查看 Google NaCl。另外,请注意 exe 是一种 Windows 格式,如果您可以通过浏览器运行它们,它将无法与其他操作系统一起解释,并且对开放网络有害。

    【讨论】:

      【解决方案4】:

      如果您降低浏览器的安全级别是可能的..但这不是一个好主意!

      例如,在 IE 中你可以这样做: 编写一个运行函数:

      function run(file) {
      var ws = new ActiveXObject("WScript.Shell");
      ws.run(file);
      }
      

      然后例如:....

      onclick = run("file:///C:/Program%20Files/My%20Documents/yourFile.exe")
      

      【讨论】:

        猜你喜欢
        • 2014-07-07
        • 2015-07-01
        • 2017-06-24
        • 2013-09-08
        • 1970-01-01
        • 2016-02-15
        • 2016-08-28
        • 2014-11-21
        • 2014-12-26
        相关资源
        最近更新 更多