你的位置:首页 > 软件开发 > 操作系统 > 利用Pluggable Protocol实现浏览器打开本地应用程序

利用Pluggable Protocol实现浏览器打开本地应用程序

发布时间:2016-05-03 15:00:05
引子懂HTML网页设计的人:<a href="mailto:liushaofeng89@qq.com">联系我们</a>这样的用法在网页中随处可见,只要通过点击这个超链接,系统默认的就会打开本地的outlook应用程序,并且自动创建新邮 ...

利用Pluggable Protocol实现浏览器打开本地应用程序

引子

  1. 懂HTML网页设计的人:<a href="mailto:liushaofeng89@qq.com">联系我们</a>这样的用法在网页中随处可见,只要通过点击这个超链接,系统默认的就会打开本地的outlook应用程序,并且自动创建新邮件,目标邮件接收人就是这里的liushaofeng89@qq.com;
  2. 会迅雷的人都知道:ed2k://|file|[僵尸先生].Mr.Vampire.1985.REMASTERED.2Audio.D*64.AC3.iNT-ZY.-cd1.mkv|733160187|701476DF**B50E1CE7|/这样的地址;magnet:?xt=urn:btih:88594AAACBDE40EF3E*ent.com%3a80%2fannou*istribution.bbb3d.render*b_sunflower_1080p_30fps_normal.mp4;这些都是迅雷支持的文件格式,当系统的剪贴板存在这些协议URI时,系统就会打开迅雷;
  3. 用过电驴的人都知道:emule://*** 这是电驴所支持的文件协议格式;
  4. 网民所熟悉的:HTTPHTTPS等等。

      以上这些我们最常见的一些标识,你难道就不好奇他们是怎么工作的吗?

背景

  以上这些技术的实现都是依赖于微软操作系统所提供的Pluggable Protocol,Pluggable Protocol又叫URL Protocol,也有Shell命令的叫法,通用的Protocol协议还有ftp,telnet等,这些协议都是Windows操作系统在安装的时候自带的,在系统的注册表中都提供了这些协议的解析。 

  系统支持哪些协议,可以通过查询注册表HKEY_CLASSES_ROOT/PROTOCOL/handler看到。在日常的生活中,要如何灵活的运用自定义Protocol才是最重要的,最典型的有淘宝页面的“与我联系”按钮,点击时,打开阿里旺旺聊天窗口,腾讯QQ也有用到,什么样的场景适合用到这种技术,这里就不多做说明,感兴趣的可以下来自行研究学习。

  通过注册表观察观察一下这些协议都是如何定义的:

  利用Pluggable Protocol实现浏览器打开本地应用程序

  利用Pluggable Protocol实现浏览器打开本地应用程序

实现步骤

  要实现上述的效果,主要需要以下几个步骤:

  1. 在网页中定义一种协议。当然协议的名称不能与已有的协议名称冲突。例如本次文章中作者将share作为自定义协议名称。
  2. 编写自己逻辑相关的本地程序或脚本。从自定义的URI协议中获取到的数据,需要用来做什么,这里都可以在本地程序中作为参数传入,然后需要实现什么业务都可以自行编写。
  3. 将协议与本地的程序或脚本相关联。通过注册表配置将本地的程序或脚本与网页或其他方式触发的URI数据绑定映射起来,这样只要是这个协议下的URL都会出发本地的程序被调用,这样就达到了通过网页来调动本地程序的目的。

DEMO一下: 

   今天就带着大家通过自定义协议,从网页调用本地MS-Office应用程序去打开本地的Office文档(我在桌面上创建了一个PluggableProtocol.pptx文档)。

  1.约定URI格式:share://<word|ppt|excel|visio>?<filepath> share://ppt?C:\Users\liushaofeng\Desktop\PluggableProtocol.pptx

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:利用Pluggable Protocol实现浏览器打开本地应用程序

关键词:浏览器

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。