最近在作項目的wap版,有個需求就是,先判斷手機上是否有咱們的APP應用,若是有的話打開應用,沒有才跳轉到wap頁面。
wap簡單來講就是運行在移動端瀏覽器上的網站。無論應用在什麼地方,總之就是瀏覽器唄,能夠經過JS來判斷本地是否有某應用,實現方式實際就是將http協議轉爲本地軟件協議。
仍是直接貼代碼吧。javascript
<script language="javascript"> if (navigator.userAgent.match(/(iPhone|iPod|iPad);?/i)) { var loadDateTime = new Date(); window.setTimeout(function() { var timeOutDateTime = new Date(); if (timeOutDateTime - loadDateTime < 5000) { window.location = "要跳轉的頁面URL"; } else { window.close(); } }, 25); window.location = " apps custom url schemes "; } else if (navigator.userAgent.match(/android/i)) { var state = null; try { state = window.open("apps custom url schemes ", '_blank'); } catch(e) {} if (state) { window.close(); } else { window.location = "要跳轉的頁面URL"; } } </script>
apps custom url schemes 是什麼呢?
其實就是你與APP約定的一個協議URL,你的IOS同事或Android同事在寫程序的時候會設置一個URL Scheme,
例如設置:
URL Scheme :app
而後其餘的程序就能夠經過URLString = app:// 調用該應用。
還能夠傳參數,如:
app://reaction/?uid=1
原理:500ms內,本機有應用程序能解析這個協議並打開程序,調用該應用;若是本機沒有應用程序能解析該協議或者500ms內沒有打開這個程序,則執行setTimeout裏面的function,就是跳轉到你想跳轉的頁面。java
以上就是js判斷移動端是否安裝某款app的多種方法,但願對你們的學習有所幫助。react