从Chrome(或其他浏览器)以编程方式打开IE

时间:2012-08-17 16:22:02

标签: html5 sqlite internet-explorer google-chrome activex

我们正在尝试将我们的网络应用程序(医疗保健)迁移到HTML5,并对Chrome中的SQLite功能感到非常兴奋。我们的一个应用程序需要一个ActiveX组件(一个专有的wysiwyg编辑器),这意味着我们必须使用IE。但是,我们也遇到了障碍,因为我们不确定IE是否可以支持Chrome等本地存储。

有人可以提供一些帮助吗?

或者,我们正在考虑在非IE浏览器中保留主要应用程序,但只是将wysiwyg编辑器打开为单独的浏览器窗口,但在IE中。简而言之,如果我点击Chrome(或其他非IE浏览器)中的按钮,是否可以在Internet Explorer上以编程方式打开一个新窗口?

感谢。

3 个答案:

答案 0 :(得分:2)

没有浏览器插件就不可能。

Chrome中的主应用程序,在IE中使用WYSIWYG编辑器?听起来像是一个可怕的想法。

答案 1 :(得分:1)

指针:使用非专有的WYSIWYG编辑器。

There's plenty to be found out there

答案 2 :(得分:-1)

无法从浏览器环境中直接调用另一个可执行文件,这将带来很大的安全问题。

您可以安装浏览器插件或添加注册表来实现此目的。

最简单的解决方案是为IE添加 URI方案,格式为ie:http://example.com的链接将启动IE并访问http://example.com

要为IE添加URI方案,请添加 this registry

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Classes\ie]
"URL Protocol"=""
@="URL:IE Protocol"

[HKEY_CURRENT_USER\Software\Classes\ie\shell]

[HKEY_CURRENT_USER\Software\Classes\ie\shell\open]

[HKEY_CURRENT_USER\Software\Classes\ie\shell\open\command]
@="cmd /c set url=\"%1\" & call set url=%%url:ie:=%% & call start iexplore -nosessionmerging -noframemerging %%url%%"

一些重要说明:

  1. 您必须将%1用双引号引起来。否则,带有多个参数(例如example.com?a=1&b=2)的url将被剥离为example.com?a=1,在{{1}之后的参数}将被忽略。
  2. 调用& 时必须删除双引号。如果您不删除双引号并从chrome打开多个IE窗口,则只有第一个IE窗口将获得正确的URL。但是用命令iexploreset url=%%url:\"=%%删除引号是行不通的。
  3. 如果您无法删除这些引号,请将开关set url=%%url:~1,-1%%-nosessionmerging添加到-noframemerging这些是command-line options控制IE的“合并”行为。