Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Chrome上运行可执行应用程序?_Javascript_Google Chrome_Activexobject_Wsh - Fatal编程技术网

Javascript 在Chrome上运行可执行应用程序?

Javascript 在Chrome上运行可执行应用程序?,javascript,google-chrome,activexobject,wsh,Javascript,Google Chrome,Activexobject,Wsh,是否可以在Chrome浏览器上运行可执行的.exe应用程序,或者我有什么选择 我看过JavaScript的例子,它被设计用于IE,因为它使用WScript.Shell(未测试) 因此,基本上它将执行Display.exe Display.exe连接到COM3(串行端口)以在客户显示柱上显示价格(直到系统)短路:不,这是不可能的 甚至不可能直接从chrome调用本地文件。谷歌chrome真的锁定了它。如果你设法 简言之,访问本地内容的最佳方法是设置本地Web服务器,调用它,让Web服务器执行本地

是否可以在Chrome浏览器上运行可执行的.exe应用程序,或者我有什么选择

我看过JavaScript的例子,它被设计用于IE,因为它使用
WScript.Shell
(未测试)

因此,基本上它将执行
Display.exe


Display.exe连接到COM3(串行端口)以在客户显示柱上显示价格(直到系统)

短路:不,这是不可能的

甚至不可能直接从chrome调用本地文件。谷歌chrome真的锁定了它。如果你设法

  • 简言之,访问本地内容的最佳方法是设置本地Web服务器,调用它,让Web服务器执行本地文件/协议,然后通过xhr或WebSocket将输出返回给您

    • 另一种选择可能是使用安全证书进行Java签名,以留出一些余地,但即使在那里,安全措施也非常严格

    • 或者你可以制作一个chrome插件,然后试试

    • 或者,另一种选择是使用Chrome,并在其中内置自己的activeX支持。ChromiumX有一个漂亮的戒指

但总而言之,要通过chrome完成你想要的事情真的很难


就我个人而言,我通过在windows服务器上使用PHP COM解决了这个问题,我通过ajax请求与该服务器进行通信,以完成我需要完成的工作,但这并不理想。

不,它之所以有效,是因为它使用了IE支持的ActiveX,并且多年来一直被锁定,支持的ActiveX越来越少。应该怎么做是应用程序注册一个本机协议,然后脚本调用该协议。一句话,不。Firefox过去可以这样做,但该功能在几年前就被删除了。如果你需要一个ActiveX,你就需要一个internet exploder。我不想直接使用Chrome浏览器,而是考虑使用electron()来创建桌面应用程序(HTML、CSS和JavaScript,使用Chrome和Node.js来构建应用程序),并让Node.js可以与串口通信,也许可以使用这个。。。你觉得怎么样?为什么,呃,不只是制作一个可执行文件并提供下载。。。可能会为您节省更多的麻烦,而且它允许与硬件层进行更好的通信<代码>“您正在使用chrome:请使用internet explorer或使用我们的可信应用程序(此处下载)与您的串行端口连接”
var ws = new ActiveXObject("WScript.Shell");
ws.run("C:\\System\\Display\\Display.exe \"" + message1 + "\" \"" + message2 + "\"");