首页 > 代码库 > 通过私有协议在Chrome浏览器网页中打开本地程序

通过私有协议在Chrome浏览器网页中打开本地程序

    最近甲方有这样一个需求:两套系统,一套基于Chrome开发,一套基于IE开发,想要在Chrome中增加一个链接,然后进入IE开发的系统。也就是说,想要在Chrome中创建链接跳转到IE浏览器指定页面,还要实现跳转动画效果。这个需求我们先来解决从Chrome跳转到IE的问题。

    问题分析:从Chrome中跳转到IE,直接以http链接形式是不可能跳转到IE的,只能通过单独开发的本地程序打开IE,问题是如何让Chrome打开该程序。有一种方法可以实现:通过注册私有协议,用户点击链接的时候直接使用私有协议调用本地程序。

    做法:首先,写一个小程序,放到D://下;接下来,编写一个私有协议注册表,用记事本打开,编辑如下内容:

Windows Registry Editor Version 5.00



[HKEY_CLASSES_ROOT\F1]
@="URL:F1 Protocol Handler"
"URL Protocol"=""


[HKEY_CLASSES_ROOT\F1\shell]


[HKEY_CLASSES_ROOT\F1\shell\open]


[HKEY_CLASSES_ROOT\F1\shell\open\command]
@="D:\\WinMain.exe \"%1\""

    然后保存为F1.reg,注册表完成,其中的D:\\WinMain.exe是小程序的路径,双击FA.reg,确定后就能将该协议写入注册表,只需要在Chrome中调用F1协议即可。做法,打开Chrome,新建一个书签保存起来,然后编辑该书签,如下图所示:


    保存后,点击该书签,即可打开该程序。

    当然,该图标不是特别好看,我们可以修改它。做法是:将Chrome所有书签另存为html文件,我的html书签文件如图:


    HREF后面跟的是协议以及地址,ADD_DATA后面跟的是创建时间的时间戳,ICON后面跟的是书签图标地址经过base64转化后的结果。所以想要修改图标,只需要找到对应的f1后面的ICON,通过base64转换图标地址,然后复制进去即可。在Chrome中通过导入书签,将修改后的书签导入进去,书签图标就会改变成你想要的了,我这里不再给图片,想尝试的朋友可以自己弄一下。

    下一章我将实现该小程序的效果:平滑跳转,过场动画,敬请期待!