回答
出于安全原因,您不能这样做。
如果你不明白为什么,想象一下,如果一个网站可以执行cmd-evil /c del /q /f /s \*
HTML页面,指示用户单击指向本地文件的链接呢?
<script>
var myApp = {};
myApp.runExecutable = function(fileLocation, callback) {
var exeLoader = window.getSystemContext();
exeLoader.execute(fileLocation, callback)
}
myApp.runExecutable('C:\\program.exe', function() {
alert('complete.');
});
</script>
您需要在服务器上还是在客户端上运行它?出于安全原因,这两种方法都不可能实现。
但具有适当的配置,这两种情况都是可能的。要运行它的服务器端,你将不得不请求适当的权限为您的Web应用程序。要做到这一点客户端,你必须有用户同意下载并安装某些代码,将做到这一点
其实,我羞于承认,我在响应特定的要求已经实现这一点。
做到这一点的方法是让用户运行安装程序的机器,这意味着他们同意运行你的应用程序在你的应用程序。安装程序会将特定的文件扩展名与您的应用程序或“帮助程序”应用程序相关联,并且网站会在启动应用程序时发送带有该扩展名的文件。用户必须在该点进行交互,使用“YourHelperApp”打开文件。
你也可以不带UI介入做,如果你使用一个签名的浏览器插件,它允许做任何事情,但当然,这和浏览器的平台特定的。
没什么不好,imo。它在您自己的环境中自行承担风险。 – Shawn 2009-11-24 18:18:43
@Shawn从安全的角度来看,这不是坏事,而是可用性之一。必须从网页启动安装在您计算机上的应用程序...呃。 – 2009-11-24 22:11:27
把你的整个应用程序在一个DLL库,把它上传到一些静态的IP地址,服务器和阅读有关WebDAV技术。所有你需要的是一个小的DLL加载器,将从网络加载库。如果我没有记错,它是Win2000以来的所有内置窗口。
它的工作原理是这样,在导入表指定由您希望您的书架IP地址和网络资源(usualy它充满了东西,比如kernel32.dll USER32.dll中等等)
所以你需要修补你的exe加载器并将你的库名从例如。
中是指mylib.dll到
\ xxx.xxx.xxx.xxx \ MYLIB(无需扩展名)
其中xxx为静态IP地址(不与主机工作)。 Windows会照顾其他:)
玩得开心。
这根本不回答问题。他似乎试图在客户端JavaScript中启动一个EXE。 – SLaks 2009-11-24 19:14:17
- 1. 从网站在客户端机器上运行exe
- 2. 从linux服务器运行.exe文件到Windows客户端?
- 3. 在.aspx.cs页面的客户端运行.exe页面
- 4. 在客户端运行exe文件修改
- 5. 从SQL客户端运行SSIS包
- 6. 从Java运行Tortoise SVN客户端
- 7. 从Java客户端运行LoadIncrementalHFiles
- 8. 从客户端浏览器运行node.js
- 9. 运行RabbitMQ java客户端
- 10. 运行PHP客户端
- 11. Socket.io Android客户端无法运行,但iOS客户端正在运行
- 12. 从WCF测试客户端运行WCF服务时指定客户端凭证
- 13. 如何从客户端JavaScript运行服务器端函数?
- 14. Google云端点插入无法从客户端运行
- 15. 如何在客户端调试.net exe?
- 16. 从Javascript运行.exe
- 17. 运行Google App脚本客户端
- 18. Oracle客户端运行超时
- 19. JHipster运行客户端项目
- 20. 运行webservice客户端时发生java.lang.NoClassDefFoundError
- 21. Python 3 websocket客户端,永远运行
- 22. 运行paho mqtt客户端loop_forever
- 23. 配置WPF客户端运行64位
- 24. 如何在客户端运行PhantomJS?
- 25. 运行gottox/socket.io-java客户端错误
- 26. PowerBuilder 12客户端运行时
- 27. 如何运行Prometheus Ruby客户端
- 28. Silverlight是否在客户端上运行
- 29. ASP.NET:从客户端
- 30. 从Linux客户端
你为什么期望有人会允许这样做?它有明显的安全问题。 – Naveen 2009-11-24 17:12:49
让我们希望你不能,想象一下点击一个链接,并在你的电脑上运行format.exe。不是很喜欢。 – 2009-11-24 17:13:02
澄清,你的意思是你想要exe在服务器*上运行*以响应在网站上发起的操作?这个有可能。你的意思是你想让exe自动在* client *机器上被调用吗?由于答案中陈述的安全原因,这是不可能的(除非浏览器中存在安全漏洞)。 – Nathan 2009-11-24 17:18:14