我正在 Firefox 上运行我的 Web 应用程序。我在其中一个页面上有超链接,当我单击它时,它会打开另一个应用程序作为新的弹出窗口。
但 Firefox 不支持该应用程序。所以我想在 Internet Explorer 中打开它,即,虽然我在 Firefox 上运行该应用程序,但该特定的弹出窗口应该在 Internet Explorer 中打开。我用它来打开新窗口:
var win = window.open(url, "NewWindow", strFeatures);
仅使用普通 JavaScript 无法做到这一点;正如 Levi 指出的,如果可以的话,那将是可用性和安全性的噩梦。
也就是说,有几种方法可以让这样的事情发挥作用。例如,Firefox 插件可以启动外部程序 https://stackoverflow.com/questions/16754621/how-can-i-open-an-external-app-from-firefox-addon-eg-default-text-editor,因此您可以编写这样一个附加组件来在 IE 中打开您的应用程序,并要求您的用户安装它(或者让管理员为他们预安装它,如果这是例如托管工作场所中的内部应用程序)环境)。
另一种可能性可能是使用自定义 URL 方案(例如myapp:
) 链接到您的应用程序,以及注册要在 IE 中打开的 URL 方案 https://stackoverflow.com/questions/5795560/lauch-external-program-in-firefox-or-chrome(或者更确切地说,在某种包装脚本中,它采用自定义 URL,将其转换为普通的 HTTP URL,然后在 IE 中打开它)。不过,这再次需要配置(并且可能在其上安装脚本)最终用户的计算机,因此它可能仅适合办公室或类似环境。
请注意,您应该牢记这两种解决方案都有安全隐患。特别是,您使用的任何附加组件或脚本都应该only适用于指向您的应用程序的特定 URL,并且应拒绝打开其他人可能尝试提供的任何其他 URL。
无论如何,如果您尝试为公共网站执行此操作,请记住有no way您可以让不具备此功能的 Linux / Mac 用户也能使用此功能have首先是IE。甚至许多 Windows 用户可能不愿意使用 IE(更不用说安装不受信任的扩展!)very好理由;毕竟,他们首先选择使用 Firefox(或 Chrome 或 Opera 或其他)大概是有原因的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)