【发布时间】:2010-07-01 05:11:03
【问题描述】:
可能重复:
How can I run a program or batch file on the client side?
我是 JavaScript 新手。我正在尝试在网络浏览器上从 JavaScript 执行 EXE 文件。如何用简单的代码来完成?
【问题讨论】:
标签: javascript html
可能重复:
How can I run a program or batch file on the client side?
我是 JavaScript 新手。我正在尝试在网络浏览器上从 JavaScript 执行 EXE 文件。如何用简单的代码来完成?
【问题讨论】:
标签: javascript html
出于安全原因,这是不可能的。想象一下,您正试图访问客户端的文件系统。
【讨论】:
出于安全原因,通常不允许这样做,但是如果您绝对需要这样做,那么您有几个选择:
有关如何执行此操作的详细信息,请参阅this question。 请注意,这几乎肯定不会在大多数浏览器上工作,除非您的站点已被放置在某种“受信任”区域中(如果您正在开发 Intranet 应用程序或在 Html 应用程序/.hta 中运行,则可能会出现这种情况)
所有这 3 个选项都需要用户授予信任(他们必须将您的页面/网站置于某个信任级别,或者他们必须点击某种“信任此网站” /“下载此文件”对话框。
(另请注意,所有这些选项都特定于 Windows 操作系统)
【讨论】:
正如 sAc 所说,无法直接运行 exe 文件,但如果您希望在 Web 浏览器中执行本机代码,您可能需要查看 Google NaCl。另外,请注意 exe 是一种 Windows 格式,如果您可以通过浏览器运行它们,它将无法与其他操作系统一起解释,并且对开放网络有害。
【讨论】:
如果您降低浏览器的安全级别是可能的..但这不是一个好主意!
例如,在 IE 中你可以这样做: 编写一个运行函数:
function run(file) {
var ws = new ActiveXObject("WScript.Shell");
ws.run(file);
}
然后例如:....
onclick = run("file:///C:/Program%20Files/My%20Documents/yourFile.exe")
【讨论】: