在寫移動端頁面會遇到喚醒App的需求, 通常都是經過scheme協議喚起的,這裏記錄一下ios
以新浪微博爲例: 其協議爲 sinaweibo://splash; 這些協議須要本身去收集,或者去官方查詢; 有些App分IOS和Android; 有些應用又不分;
這個根據終端作處理便可web
// 測試地址 <a href="sinaweibo://splash">微博app</a> <a href="sinaweibo://userinfo?uid=3177804914">微博我的主頁</a> // 跳轉代碼: 手機裝了app就打開; 沒有就跳轉頁面或者跳轉app store去下載, 邏輯本身定義便可 goToWeibo() { let u = navigator.userAgent; let isAndroid = u.indexOf("Android") > -1; //安卓終端 let isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios終端 if (isAndroid) { // 安卓weibo的scheme協議跳轉 window.location.href = "sinaweibo://userinfo?uid=3177804914"; setTimeout(function() { let hidden = window.document.hidden || window.document.mozHidden || window.document.msHidden || window.document.webkitHidden; if (typeof hidden == "undefined" || hidden == false) { window.location.href = "https://m.weibo.cn/u/3177804914"; } }, 2000); } // IOS下的scheme協議跳轉 if (isIOS) { window.location.href = "sinaweibo://userinfo?uid=3177804914"; setTimeout(function() { let hidden = window.document.hidden || window.document.mozHidden || window.document.msHidden || window.document.webkitHidden; if (typeof hidden == "undefined" || hidden == false) { window.location.href = "https://m.weibo.cn/u/3177804914"; } }, 2000); } },
推特: twitter://user?screen_name=
ins: instagram://user?username=
youtube: iOS: youtube://www.youtube.com/user/ Android : vnd.youtube://www.youtube.com/user/app
其餘app scheme協議快速通道:
國內: https://blog.csdn.net/swt_zql...
海外: https://help.emplify.com/hc/e...測試