学习笔记:URL Protocol在浏览器中打开本地应用程序

看到阿里的网站上能够经过点击卖家的旺旺图标从而调用本地的阿里旺旺程序,并且还能够传递当前浏览者须要咨询的商品。这是怎么实现的呢?是经过URLProtocol来完成。html

 

原理尚未太清楚,即在系统里注册一个URL Protocol,当浏览器页面触发时调用这个本地应用程序:chrome

一、在注册表的HKEY_CLASSES_ROOT根下面写入一个项目mini188,并创建子项目,以下图所示:浏览器

 

二、而后在command键下面的默认值中写入exe的位置信息:网站

 

三、建立一个html页面,代码以下:ui

<html>
<head></head>
<body>
<a href='mini188:hello'>Open exe</a>
</body>
</html>

 

而后在浏览器里打开这个html点击连接就能够启动应用了。在Chrome中执行会旨意警示窗口,在FireFox下会显示一个应用选择框,IE不会直接显示。spa

 

如chrome的提示:插件

 

试了淘宝网发现弹出阿里旺旺时并不会有这些警告、提示的窗口,可是我直接将旺旺图标的连接放在浏览器里执行那么会弹出这个和我同样的框。好比,下面的连接就是从页面中提取出来的:code

https://amos.alicdn.com/getcid.aw?spm=a230r.1.14.42.zBHU6R&v=3&site=cntaobao&groupid=0&s=1&fromid=cntaobao1afasd&uid=%E8%81%9A%E7%BC%98%E9%98%81%E6%97%97%E8%88%B0%E5%BA%97cdn

把这个URL放在浏览器里执行就会提示警告,可是直接在淘宝的页面中点击图标则不会,有点奇怪。htm

我猜是阿里作了浏览器插件吧,但具体缘由不是很清楚,还须要后续研究

相关文章
相关标签/搜索