js喚醒app完全實現


拉起app的原理就是js和原生統一好一個地址,例如(weixin://)。然后瀏覽器發起請求,如果app安裝了則會攔截這個請求並且打開。

js這邊稍微麻煩一些。如果只拉起app比較簡單,直接通過a連接或者window.location.href=“**”即可。不過這里有個問題,就是有些手機在未安裝app的時候會識別我們之前定的那個協議嘗試打開這個網頁,當然會報找不到網頁。但如果使用iframe拉起app在ios9以上不支持。這里我們對ios拉起app做一個總結:

一、iframe:當沒安裝時safari不會提示錯誤彈框,但iframe只適合ios9以下;

二、window.location.href: 兼容性良好,但在沒安裝app的情況下會在safari中彈框提示網址無效;

三、universal Link:在ios9及以上生效。

var ua = window.navigator.userAgent;
window.device.isIOS= !!ua.match(/(iPhone|iPod|iPad);?/i);
window.device.isSafari = window.device.isIOS && d.match(/Version\/([\d.]+)([^S](Safari)|[^M]*(Mobile)[^S]*(Safari))/)
;
var o = navigator.userAgent.match(/OS\s([\d]+)/) , edition = o ? parseInt(o[1], 10) : 0; edition >= 9 ? window.device.isSafari || (window.location.href = iosUrl) : this.wakeupApp(iosUrl);

 

綜上如果頁面中有拉起app的按鈕,最好的實現方式是鏈接跨域指向另一個域名下的下載頁,universal Link攔截拉起,如果沒安裝則到達下載頁。


免責聲明!

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



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