从另一个浏览器打开一个浏览器

IT技术 javascript
2021-03-02 09:22:18

我在 Firefox 上运行我的网络应用程序。我在其中一个页面上有超链接,当我点击它时,它会打开另一个应用程序作为新的弹出窗口。但 Firefox 不支持该应用程序。所以我想在 Internet Explorer 中打开它,即,虽然我在 Firefox 上运行该应用程序,但该特定弹出窗口应该在 Internet Explorer 中打开。我用它来打开新窗口:

var win = window.open(url, "NewWindow", strFeatures);
2个回答

你不能只用普通的 JavaScript 来做到这一点;正如 Levi 指出的那样,如果可以,那将是可用性和安全性的噩梦。

也就是说,有几种方法可以让这样的事情发挥作用。例如,Firefox 插件可以启动外部程序,因此您可以编写这样的插件来在 IE 中打开您的应用程序,并要求您的用户安装它(或者让管理员为他们预安装,如果这样的话)例如,用于托管工作场所设置中的内部应用程序)。

另一种可能性可能是使用自定义 URL 方案(如myapp:)链接到您的应用程序,并注册该 URL 方案以在 IE 中打开(或者,更确切地说,在某种采用自定义 URL 的包装器脚本中,将其转换为一个普通的 HTTP URL,并在 IE 中打开它)。不过,这又需要配置(并且可能在其上安装脚本)最终用户的计算机,因此它可能仅适用于办公室或类似环境。

请注意,这两种解决方案都具有您应该牢记的安全隐患。特别是,您为它们使用的任何加载项或脚本应该适用于指向您的应用程序的特定 URL,并且应该拒绝打开任何其他人可能试图提供它的 URL。

在任何情况下,如果你想为一个公共网站做到这一点,请记住,有没有办法可以让这个工作的Linux / Mac用户没有谁具有IE开始。甚至许多Windows用户可能不太愿意使用IE(更不用说安装不可信扩展!)没有一个非常好的理由; 毕竟,他们首先选择使用 Firefox(或 Chrome 或 Opera 或其他)大概是有原因的。

这是不可能的,而且是有充分理由的。想想一个聪明的人——可以说——如果他们可以导致各种程序在你的计算机上运行,​​因为你点击了一个网站上的链接......

这就是您想要做的...通过单击浏览器中的链接运行另一个本机应用程序。

为什么不直接使用 Internet Explorer,因为它适用于弹出窗口?

@ user4622067 - 我不确定你是否阅读了这个答案。你所要求的是不可能的。
2021-04-26 09:22:18
这是一个完全不同的问题,并且涉及其他领域。要使用 javascript 运行 exe,您可以创建一个 node.js 应用程序,该应用程序使用子进程module来生成或分叉子进程——它可以是一个 exe。但是,我非常怀疑这是您正在寻找的答案。在浏览器中——就像你想做的——这不会发生。
2021-05-18 09:22:18
好的,告诉我如何使用 javascript 运行 exe ?
2021-05-21 09:22:18