通过私有协议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书签文件如图:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemh1NTMwNTQ4ODUx/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemh1NTMwNTQ4ODUx/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >

HREF后面跟的是协议以及地址,ADD_DATA后面跟的是创建时间的时间戳,ICON后面跟的是书签图标地址经过base64转化后的结果。所以想要改动图标,仅仅须要找到相应的f1后面的ICON,通过base64转换图标地址,然后复制进去就可以。

在Chrome中通过导入书签,将改动后的书签导入进去。书签图标就会改变成你想要的了。我这里不再给图片。想尝试的朋友能够自己弄一下。

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

版权声明:本文博主原创文章,博客,未经同意不得转载。

时间: 2024-08-04 00:57:34

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

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

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

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

最近甲方有这样一个需求:两套系统,一套基于Chrome开发,一套基于IE开发,想要在Chrome中增加一个链接,然后进入IE开发的系统.也就是说,想要在Chrome中创建链接跳转到IE浏览器指定页面,还要实现跳转动画效果.这个需求我们先来解决从Chrome跳转到IE的问题. 问题分析:从Chrome中跳转到IE,直接以http链接形式是不可能跳转到IE的,只能通过单独开发的本地程序打开IE,问题是如何让Chrome打开该程序.有一种方法可以实现:通过注册私有协议,用户点击链接的时候直接使用私有协

chrome浏览器插件启动本地应用程序

chrome浏览器插件启动本地应用程序 2014-04-20 00:04:30|  分类: 浏览器插件|举报|字号 订阅 下载LOFTER我的照片书  | chrome的插件开发这里就不多讲了,本篇文章只讲如何调用谷歌浏览器的api启动本地的程序并与之通信 要启动本地的应用插件需要包括两部分的内容: 1)安装到浏览器的插件部分 2)放置在本地的json文件 第一部分就跟普通的谷歌浏览器插件是一样的,包括两个必须的文件: 1)background.js(名字不一定为background......

Chrome浏览器不支持本地Ajax请求的解决方案

问题描述: 通过Ajax获取本地JSON文件时候,报Received an invalid response. Origin 'null' is therefore not allowed access. 错误. 原因: Chrome浏览器不支持本地Ajax请求,当在html文件中使用Ajax时候,就报错. 解决方案: 右击chrome浏览器快捷方式图标,选择属性,在目标中添加:--allow-file-access-from-files,与chrome.exe之前有个空格.

js 通过浏览器直接打开应用程序(IOS,Android)并判断浏览器内核

本功能主要用于手机端,如果手机未安装该APP,则跳转至下载页面:否则,直接打开手机中的APP. <div style="position:absolute; top:84%; left:24%; z-index:8;"> <a id="J-call-app" href="javascript:;"><img src="image/but01.jpg"></a> <input

一个实现浏览器网页与本地程序之间进行双向调用的轻量级、强兼容、可扩展的插件开发平台—本网通

通过本网通插件平台可实现在网页中的JavaScript脚本无障碍访问本地电脑的硬件.调用本地系统的API及相关组件,同时可彻底解决ActiveX组件在Chrome.FireFox.Opera.Edge.Safari等浏览器各版本的兼容使用问题. 系统兼容性:1.全面兼容Windows XP.Vista.7.8.10等各版本桌面系统:2.全面兼容Windows Server 2003.2008.2012.2016等各版本服务器系统:3.Linux.Mac.安卓等系统理论上也是可行的,欢迎熟悉这些平

注册自定义协议,通过浏览器链接打开本地应用程序

参考:http://www.cnblogs.com/leslies2/p/3727762.html using System; using System.Security.AccessControl; using System.Windows; using Microsoft.Win32; namespace QPP.AutoUpdater { public static class Registry { /*将协议写入注册表,以便可以通过协议打开程序*/ /*参考http://www.cnbl

如何使用selenium 驱动chrome浏览器并且打开方式为手机模式

随着移动设备使用率的不断增加,移动页面的测试也变得越来越重要. 对于互联网公司M站的测试,如果不通过专用的appium等移动端测试工具是否还有方便快捷的办法呢?答案当然是有啊. 使用chrome driver和chrome浏览器并进入chrome的 toggle device mode 模式,就可以很好的模拟手机端,下面直接上代码. public class Test{ public static void main(String args[]) { System.setProperty("we

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

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