【问题标题】:Programmatically opening IE from Chrome (or other browsers)以编程方式从 Chrome(或其他浏览器)打开 IE
【发布时间】:2019-05-17 09:48:15
【问题描述】:

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

谁能帮忙指点一下?

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

谢谢。

【问题讨论】:

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


【解决方案1】:

没有浏览器插件是不可能的。

Chrome 中的主应用,IE 中的 WSIWYG 编辑器?听起来是个可怕的主意。

【讨论】:

  • 怀疑扩展是否可行;我认为它需要一个插件。
【解决方案2】:

指针:使用非专有的所见即所得编辑器。

There'splentytobefoundout there.

【讨论】:

  • 那么,我唯一要向你表达的就是我的哀悼。
【解决方案3】:

不能直接从浏览器环境调用另一个可执行文件,会有很大的安全问题。

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

最简单的解决方案是为 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)将被剥离为example.com?a=1& 之后的参数将被忽略。
  2. 调用iexplore时必须去掉双引号。如果您不删除双引号并从 chrome 打开多个 IE 窗口,则只有第一个 IE 窗口会获得正确的 URL。但是使用命令 set url=%%url:\"=%%set url=%%url:~1,-1%% 删除引号不起作用。
  3. 如果您无法删除这些引号,请将开关 -nosessionmerging-noframemerging 添加到 iexplore 这些是 command-line options 以控制 IE 的“合并”行为。李>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-30
    • 2015-10-14
    • 1970-01-01
    • 2012-04-21
    • 2011-11-24
    • 1970-01-01
    • 2012-12-22
    相关资源
    最近更新 更多