【问题标题】:Is there a way to have a link in Internet Explorer that opens in a new browser (Chrome / FireFox / etc.)?有没有办法让 Internet Explorer 中的链接在新浏览器(Chrome / FireFox / 等)中打开?
【发布时间】:2015-03-12 00:09:54
【问题描述】:

我认为我的主题清楚地说明了我的问题,但还有更多信息:

  1. 这是一个内部应用程序,所以我们可以完全控制用户的工作站,可以关闭弹出窗口阻止等。

  2. 他们必须在 Internet Explorer 中启动。我知道 Firefox 有一些很好的插件可以在其他浏览器中打开链接,但不幸的是它们不会在 Firefox 中启动。

  3. 我更喜欢不需要用户执行任何操作但单击相关链接的解决方案,但如有必要,请右键单击 -> 选择新的浏览器解决方案(如某些 FireFox 插件我看着有)会好的。

我们目前正在用 PHP / JavaScript / HTML 编写所有代码。

【问题讨论】:

  • 很久以前,Firefox 在安装过程中注册了一个“firefoxurl:”协议,这导致了一些安全漏洞。

标签: javascript php internet-explorer


【解决方案1】:

你可以使用 ActiveX。

在这种情况下,用户所要做的就是同意警告:

此页面上的 ActiveX 控件可能不安全,无法与页面的其他部分进行交互。你想允许这种交互吗?

此外,用户需要特别允许您的页面运行 ActiveX 脚本。 (在安全设置中允许。默认情况下没有设置

如果用户允许,您可以使用 ActiveX 对象WScript.shell,在客户端机器上运行命令。调用目标浏览器的.exe,将要打开的页面作为第一个参数传递(至少在firefox和chrome中有效):

//Works only if opening from IE:

document.querySelector("input").onclick = function() {
  var objShell = new ActiveXObject("WScript.shell");
  objShell.run('"C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe" "http://www.google.com/"');
};
<input type="button" value="Teste" />

【讨论】:

  • 我其实对ActiveX有点陌生。这是需要在服务器上安装才能使用的东西吗?如果该信息相关,我们将使用 LAMP 服务器。
  • ActiveX 是微软开发的框架,嵌入在客户端的 IE 浏览器中。不过需要启用它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-29
  • 1970-01-01
  • 2011-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多