通过私有协议在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中通过导入书签,将修改后的书签导入进去,书签图标就会改变成你想要的了,我这里不再给图片,想尝试的朋友可以自己弄一下。

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

通过私有协议在Chrome浏览器网页中打开本地程序,布布扣,bubuko.com

时间: 2024-08-02 02:51:26

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

如何在浏览器网页中显示word文件内容

如何在浏览器网页中显示word文件内容 把word文件读到byte[]中,再Response.OutputStream.Write(bytes)到客户端去 Page_Load事件中写: //FileStream   fs   =   new   FileStream("c:\\1.doc",   FileMode.Open,   FileAccess.Read);  FileStream fs = new FileStream(Server.MapPath("files\\1

C#注册URL协议,使用浏览器打开本地程序,类似网页上点了QQ交谈打开本地QQ客户端程序

本教程适用于Windows系统 从浏览器上打开本地程序,主要用到了本地URL协议,其实主要就是改注册表 先建立一个项目,我建的是控制台项目 在Program.cs写2个静态方法用来添加注册表.移除注册表(用浏览器打开程序主要就是靠这两个方法) /// <summary> /// 注册启动项到注册表 /// </summary> public static void Reg() { //注册的协议头,即在地址栏中的路径 如QQ的:tencent://xxxxx/xxx 我注册的是ju

在新建浏览器窗口中打开链接

<a>标签在默认情况下,链接的网页是在当前浏览器窗口中打开,有时我们需要在新的浏览器窗口中打开. 如下代码: <a href="www.rinpe.com" target="_blank">click here!</a> 示例: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content=&

为什么html5用的jQuery Mobile在手机浏览器/微信中打开字体很小

头部加入 <header> <metaname="viewport"content="width=device-width, initial-scale=1"> </header> 为什么html5用的jQuery Mobile在手机浏览器/微信中打开字体很小,布布扣,bubuko.com

js网页中调用本地应用程序

<!DOCTYPE html> <html lang="zh-CN"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Test ActiveXObject</title> <script> function Run(command) { windo

iOS程序中打开其他程序的方法

1.1 如果被打开程序不是自己的,则要找到被打开App的URL Schemes. http://jbguide.me/2012/09/12/how-to-find-url-schemes%EF%BC%9F/ 1.2 如果被打开程序是自己写的,那么写程序时要实现 1) appname-info.plist里增加 <key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleURLSchemes<

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

近期方有这样的要求:这两个系统,根据一组Chrome开展,根据一组IE开展,需要Chrome添加一个链接,然后进入IE该系统的开发.这,需要Chrome跳转到创建一个链接IE浏览器指定的页面.同时也实现了跳跃的动画.第一解决的需要我们的Chrome转到IE的问题. 问题分析:从Chrome中跳转到IE,直接以http链接形式是不可能跳转到IE的,仅仅能通过单独开发的本地程序打开IE,问题是怎样让Chrome打开该程序.有一种方法能够实现:通过注冊私有协议,用户点击链接的时候直接使用私有协议调用本

小技巧:利用QUIC提升Chrome浏览器网页打开速度

个人因为比较偏爱轻盈小巧不臃肿的软件,所以浏览器一直用谷歌的Chrome.近几年因为其启动和打开网页速度快等诸多优点,被广大国内用户喜爱,并迅速在国内市场占据一定的份额. 这里和大家分享一个可以提升Chrome网页打开速度的小技巧 首先,打开Chrome浏览器,在地址栏里输入:Chrome://flags 然后找到QUIC协议标签,可以按"CTRL+F"快速定位. Chrome截图 把选项"默认"改为"已启用".所做的更改会在下次重新启动 Goo

解决Ubuntu下Chrome浏览器网页中文字体混乱

在Ubuntu下使用Chrome浏览器时碰到了网页中文字体混乱的现象: 黑体和楷体混杂,看起来非常不美观. 这是由于许多网页并没有指定字体,然后浏览器将调用系统默认字体配置. 首先,安装文泉驿字体: sudo apt-get install ttf-wqy* 编辑字体设置 sudo gedit /etc/fonts/conf.avail/69-language-selector-zh-cn.conf 可以设置字体的优先级,个人比较喜欢文泉驿正黑(WenQuanYi Zen Hei) 最后,重启电