標籤:cat android sch store nav 安全性 設定 使用 判斷
H5喚起app1.判斷是否在中開啟
無論是在哪個平台的用戶端Android/IOS,在的平台上訪問都有一個問題,那就是無法啟動用戶端,這是為了安全性考慮的限制,android這邊屏蔽schema協議,除非公司是的夥伴加入了白名單才能使用,IOS系統可以去訪問app對應appstore的下載頁,但是經常屏蔽appstore的這個網址,進而訪問不到。比較方便的做法就是在瀏覽器中,無論是IOS還是android都去應用寶的下載(IOS 這邊最後會到appstore中)頁面開啟。
var agent = navigator.userAgent || ''var isWx = /micromessenger/i.test(agent)if(isWx){ //,提示使用者用瀏覽器開啟}else{ //非}
js的test() 方法用於檢測一個字串是否匹配某個模式.
RegExpObject.test(string) //string為要檢測的字串。//如果字串 string 中含有與 RegExpObject 匹配的文本,則返回 true,否則返回 false。
2.判斷是否為iOS
var isIOS = /iPhone|iPad|iPod/i.test(agent) //返回true/false
3.喚起app
H5啟動APP本質上是通過URL scheme開啟APP,一個APP可以設定一個或多個開啟自己的URL scheme,瀏覽器去訪問某一個APP的URL scheme,然後若系統安裝有這個APP,則會請求許可權去開啟這個APP。
其實也算是瀏覽器app開啟另一個app,iOS就可以使用 UIApplication 的 canOpenUrl 方法來檢測URL scheme 是否能開啟對應的APP,而android也是類似的方式。
當然如果JS跳轉URL scheme沒有反應,也意味著這個手機沒有裝這個app。
<a class='btn'>開啟app</a>
如果需要跳轉到app指定頁面,在URL scheme後面再加一個url即可(URL scheme及url由app開發人員提供。)
if (isIOS) { $('.btn').attr('href','BonDayApp://' + url);} else { $('.btn').attr('href','bondayapp://bonday.com/scheme?' + url);}
H5喚起app