JS 打開本地應用軟件


我們有遇到可以直接打開QQ的跳轉鏈接,也有遇到過直接啟動office打開文檔。

具體是如何操作的呢?

添加注冊表項

首先需要在注冊表中添加應用軟件的啟動地址,操作方式如下

在HKEY_CLASSES_ROOT下,新建JiraUserQuestion及其子節點:

然后,在JiraUserQuestion中,添加URL Protocol = "C:\Program Files (x86)\JiraUserQuestion\JiraUserQuestion.exe"。

- 這里是定義Protocol,后續通過protocol的檢測協議,能訪問應用地本地路徑

在下方節點,command項中添加默認項。可以通過傳入參數,啟動應用

Js添加訪問應用鏈接

添加前端demo:

 1 <!DOCTYPE html>
 2 <html>
 3 <head lang="en">
 4     <meta charset="UTF-8">
 5     <title>Custom Protocol Demo</title>
 6 </head>
 7 <body>
 8     <h1>Click:</h1>
 9     <a href="JiraUserQuestion://Open">Open JiraUserQuestion</a>
10     <script src="protocolcheck.js"></script>
11 </body>
12 </html>

protocolcheck.js文件,即protocol協議js,可從網上直接下載。

下載后,將文件放在html文件同一級,方便引用。

點擊鏈接,效果如下:

檢測本地是否存在應用

上面的protocolcheck.js文件,已封裝了對url判斷、加載的邏輯。

如果存在應用,則打開應用;否則有相應的回調可以選擇處理事務。

1     <script>
2         //測試本地應用是否存在
3         let protocalUrl = `JiraUserQuestion://open`
4         protocolCheck(protocalUrl, () => {
5             alert('檢測到,未安裝客戶端')
6         }, () => {
7             alert('檢測到:已安裝了客戶端')
8         })
9     </script>

 如果還想了解詳細,可以下載我的Demo查看

 

參考列表:

StackOverFlow解決方案:  https://stackoverflow.com/questions/27489665/approaches-of-detection-of-custom-protocol-in-chrome-and-safari-browsers 

Custom Protocol Detection in Browser源碼:   https://github.com/ismailhabib/custom-protocol-detection

Native-App-Protocal-Detection源碼地址:https://github.com/evanxuhe/Native-App-Protocal-Detection

js檢測客戶端是否安裝:htps://www.cnblogs.com/damonFeng/p/12095558.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM