【web】自定义协议Protocol URL
URL Protocol(自定義協(xié)議)可以讓web頁面調(diào)用本地exe程序,這個神奇的功能是怎么實(shí)現(xiàn)的呢?
URL Protocol
URL Protocol,沒錯就是標(biāo)題里所說的自定義協(xié)議。這玩意兒大家最常見的比如迅雷、電驢等。我們平時在電影天堂下載電影的時候點(diǎn)擊鏈接瀏覽器會啟動本地迅雷進(jìn)行下載。
下面是某部電影的下載鏈接瀏覽器檢查元素后
<a href="thunder://QUFmdHA6Ly95Z2R5ODp5Z2R5OEB5ZzQ1Lm..."/>
這里的"thunder"就是url protocol。
chrome打開一個IE
往注冊表注冊
下面我們通過在chrome上打開一個IE,來演示用法
首先創(chuàng)建一個test.reg
Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\openIE]@="URL:openIE Protocol""URL Protocol"=""[HKEY_CLASSES_ROOT\openIE\DefaultIcon][HKEY_CLASSES_ROOT\openIE\shell][HKEY_CLASSES_ROOT\openIE\shell\open][HKEY_CLASSES_ROOT\openIE\shell\open\command]@="cmd /c set m=%1 & call set m=%%m:openIE:=%% & call \"C:\\Program Files\\Internet Explorer\\iexplore.exe\" %%m%% & exit"點(diǎn)擊test.reg,在彈出框中選擇是
如果配置為空"",或直接不配置,則會提示
4.@="cmd /c set m=%1 & call set m=%%m:openIE:=%% & call \"C:\\Program Files\\Internet Explorer\\iexplore.exe\" %%m%% & exit"
-
cmd:表示以cmd命令行調(diào)用ie,瞬間會有黑色的命令行框出現(xiàn)。
-
call:批處理語法,和start命令都可以用在這個地方。
形式為 -
set m=%%m:openIE:=%% : 應(yīng)該是從后面頁面處截取參數(shù)信息。比如
取得的值是http://a.com.cn。 -
C:\\Program Files\\Internet Explorer\\iexplore.exe: IE的安裝路徑。
-
%1 :表示攜帶的參數(shù);后面在html觸發(fā)時,會傳遞url給ie,否則,ie會僅打開空白頁。
這個參數(shù)等價于在ie快捷方式 目標(biāo)后添加一個url,那么默認(rèn)頁就是這個url。
-
exit :類似bat批處理中的exit語法,退出cmd。但是如果不加該參數(shù),那么會重復(fù)打開一個IE并關(guān)閉,造成死循環(huán)效果,不知道是何原因。
上面代碼貌似可以直接配置成
C:\Program Files\Internet Explorer\iexplore.exe “%1” exit
但是目前出的問題是%1這個參數(shù)沒生效,老是打開空白頁,有待研究。
HTML測試
手動創(chuàng)建一個test.html文件
<html> <head><script type="text/javascript">function clickRadio() {window.location.href = "openIE:http://a.com.cn";}</script> </head><body><input type="button" onclick="clickRadio()" value="Click button" /></body></html>總結(jié)
以上是生活随笔為你收集整理的【web】自定义协议Protocol URL的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 拆书帮第14期训练营——作业九:如何通过
- 下一篇: springboot中格林尼治时间转指定