通过Chrome唤起IE

在参与的项目中需要使用别人提供的一个视频控件,但该控件只支持IE;但我们的项目是基于Chrome开发的,再针对IE开发从各方面考虑都是得不偿失的。所以从网上找到了这个方法来解决这个问题。虽然这个方法不完美,但是问题还是能解决的,也免去了考虑兼容IE的问题了。

方法:注册表添加类似于唤起迅雷的协议,把以下代码写入一个.reg文件,再双击执行。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\openIE]
@="URL:OpenIE Protocol"
"URL Protocol"=""

[HKEY_CLASSES_ROOT\openIE\DefaultIcon]
@="iexplore.exe,1"

[HKEY_CLASSES_ROOT\openIE\shell]

[HKEY_CLASSES_ROOT\openIE\shell\open]

[HKEY_CLASSES_ROOT\openIE\shell\open\command]
@="cmd /c set m=%1 & call set m=%%m:openIE:=%% & call \"C:\\Program Files\\Internet Explorer\\iexplore.exe\" %%m%% & exit"

注意:如果双击后未出现成功提示,需要检查IE路径是否正确。

然后在网页添加点击事件,指向要跳转的网址。如:

<a href="openIE:www.baidu.com">点击唤起IE</a>

或:

window.open('openIE:https://www.baidu.com', _self);

问题:会有一个cmd弹窗不会自动关闭,如需解决,可预先打开一个IE,再去执行openIE可以自动关闭cmd窗口。

同理,如果想唤起别的浏览器或别的程序,将call指向该.exe文件即可。

注意:由于个人对注册表不了解,所以在第一次执行代码时,没有将“Windows Registry Editor Version 5.00”拷贝到.reg文件中,导致双击执行注册表时添加失败,当把这行拷贝到.reg文件中时,执行成功。

猜你喜欢

转载自www.cnblogs.com/domost/p/10219652.html