chrome里打开IE?网页里启动本地应用程序?

来源:互联网 发布:信用卡怎么淘宝套现 编辑:程序博客网 时间:2024/05/02 02:38
问题的场景是这样的,需要在我们的系统上点击连接地址跳转到其他的系统,但是有些系统是必须要在IE下才能正常使用,而我们的系统在chrome下显示效果才最好,考虑成本不打算修改,且客户也希望使用chrome。所以需要在chrome浏览器里能够打开IE浏览器并访问相应的地址。下面介绍三种可能的解决方案:

(一)安装谷歌插件

比如open ie ,ie tab之类的,可以到谷歌的应用商店里搜。

缺点:
谷歌应用商店访问不了(国内限制了,需要代理才能访问)

操作比较麻烦,不是所有的用户都知道怎么安装chrome插件。

有些插件不提供js接口


(二)编写服务程序
    编写一个本地的socket服务程序,每个客户端需要安装一个应用程序,这个应用程序安装后每次系统启动后自启动,相当于本地常驻一个服务。点击要打开的外部系统连接后通过js向这个本地服务发送特定的消息格式,比如openOutSystem:www.baidu.com,本地服务程序接收到消息后解析出要打开的地址www.baidu.com,调用本地IE浏览器程序并传递该地址参数即可。

   缺点:

    需要编写一个程序

    服务程序最好可以自启动并作为系统常驻服务,最好可以像360那样,你关都关不了(有点流氓了。。。)


(三)自定义协议

    thunder://QUFodHRwOi8veHh4Lnx88sxyc
    类似这样的链接地址很熟悉吧,只要一点击就会自动启动本地的迅雷并下载文件。
    thunder其实就是一种自定义协议,我们只要也类似的弄一个自定义的协议也就解决问题了。
    自定义协议的实现方法很简单只需要添加一些注册表项就基本完成了
   
 将下面的内容保存为 .reg 文件,直接运行即可完成协议添加(最后一行的IE地址64位机器会有不同需要修改一下)

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"

测试方法:

<a href="openIE:www.baidu.com">百度</a>
通过自定义协议可以帮助我们调用本地应用程序,还是很不错的。


缺点:
     用户需要执行注册表文件,且针对不同的用户环境需要制作不同的注册表文件
     启动应用程序的时候会弹出警告框,这个还是可以接受的。

建议可以编写一个小程序来完成这一注册过程,这样可以根据用户操作系统的具体环境完成注册过程。如果客户端环境统一,直接通过reg文件注册即可。

小黑框问题的解决方法:可以通过bat来辅助解决

考链接:http://pan.baidu.com/s/1i48dskX密码: r1p1

下载安装后代码示例: <a href="alert:www.baidu.com">百度</a>  




2 0
原创粉丝点击