来自JavaScript的EXE

来自JavaScript的EXE,javascript,html,Javascript,Html,可能重复: 我是JavaScript新手。我试图在web浏览器上从JavaScript执行EXE文件。如何使用简单的代码完成此操作?由于安全原因,这是不可能的。假设您正试图访问客户端的文件系统。正如sAc所说,直接运行exe文件是不可能的,不过如果您希望在web浏览器中执行本机代码,您可能需要查看一下。另外,请注意,exe是一种Windows格式,如果您可以通过浏览器运行其他操作系统,这将非常难以理解,并且对打开的web有害 由于安全原因,这通常是不允许的,如果您确实需要这样做,那么您有几个选

可能重复:


我是JavaScript新手。我试图在web浏览器上从JavaScript执行EXE文件。如何使用简单的代码完成此操作?

由于安全原因,这是不可能的。假设您正试图访问客户端的文件系统。

正如sAc所说,直接运行exe文件是不可能的,不过如果您希望在web浏览器中执行本机代码,您可能需要查看一下。另外,请注意,exe是一种Windows格式,如果您可以通过浏览器运行其他操作系统,这将非常难以理解,并且对打开的web有害

由于安全原因,这通常是不允许的,如果您确实需要这样做,那么您有几个选择:

  • 提示用户下载并运行可执行文件
  • 使用WScript.Shell对象
有关如何执行此操作的详细信息,请参阅。 请注意,除非您的站点被置于某种“受信任”区域(如果您正在开发intranet应用程序或在Html应用程序/.hta中运行),否则这几乎肯定不会在大多数浏览器上工作

  • 使用ActiveX控件(这也需要提升权限,但更可能的是,您至少能够提示用户输入权限)
所有这3个选项都需要用户授予信任(他们必须将您的页面/站点置于某个信任级别,或者必须单击某种“信任此站点”/“下载此文件”对话框)


(还请注意,所有这些选项都是针对Windows操作系统的)

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

例如,在IE中,您可以执行以下操作: 编写运行函数:

function run(file) {
var ws = new ActiveXObject("WScript.Shell");
ws.run(file);
}
然后举个例子:

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

与此相关:根据下面的答案和这篇文章,显然这是可能的: