在参与的项目中需要使用别人提供的一个视频控件,但该控件只支持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文件中时,执行成功。