網頁跳轉APP


需求:
1 從原生APP打開一個H5活動頁,點擊活動頁上的商品圖標,可以回到APP上的商品詳情;
2 從原生APP打開一個H5活動頁,分享到微信朋友圈后,在朋友圈打開后,H5頁面要提示去下載APP;
3 分享一個H5鏈接(比如發送短信附上一個URL),點擊鏈接可以進入APP,未下載APP可以跳轉到APP下載頁面。

代碼實現:

 1 //移動終端瀏覽器版本信息
 2 var browser = {
 3     versions: function () {
 4         var u = navigator.userAgent;
 5         return { 
 6             android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android終端或uc瀏覽器
 7             ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios終端
 8             iPhone: u.indexOf('iPhone') > -1, //是否為iPhone或者QQHD瀏覽器
 9             iPad: u.indexOf('iPad') > -1, //是否iPad
10             mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否為移動終端
11             webKit: u.indexOf('AppleWebKit') > -1, //蘋果、谷歌內核
12             trident: u.indexOf('Trident') > -1, //IE內核
13             presto: u.indexOf('Presto') > -1, //opera內核
14             gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐內核
15             webApp: u.indexOf('Safari') == -1 //是否web應該程序,沒有頭部與底部
16         };
17     }()
18 };
19 
20 //加載綁定事件
21 function active(){
22     var urldata = GetUrlParam();
23     var activeId = +urldata.id || 1;
24     console.log("activity id is " + activeId);
25     console.log(browser.versions);
26     if (browser.versions.iPhone || browser.versions.iPad || browser.versions.ios) {
27         $("body").on("click", "#app ul li a", function () {
28             var id = $(this).attr("data-id");
29             window.webkit.messageHandlers.activeToast.postMessage({ body: 'id=' + id , active:'activeId='+activeId});
30         });
31     } else if(browser.versions.android) {
32         $("body").on("click", "#app ul li a", function () {
33             var id = $(this).attr("data-id");
34             window.android.activeToast(id,activeId);
35         });
36     } else {
37         console.log("showBottom,not opon in webview");
38         var html="<div id='bottom'><a href='http://a.app.qq.com/o/simple.jsp?pkgname=com.i_banmei.yym'><div class='tLoad clear'><img class='fl' style='margin:15px;' width='50px' src='../../images/default_logo_512.png' alt=''><div class='con'><p class='content'>伴美整形APP</p><p class='content'>讓求美者找到好醫生</p></div><div class='con con1'><img src='../images/down.png' style='width:75px; margin:0;'></div></div></a></div>"
39         $("body").append(html);
40     }
41 }
42 active();

 

 完整代碼:https://download.csdn.net/download/u013864585/10672590

 

 

 

 

參考:

簡書:通過JS頁面喚醒app(安卓+ios)
https://www.jianshu.com/p/0180e3ee8108


OC與JS交互之WKWebView
https://www.cnblogs.com/markstray/p/5757264.html


JS傳遞值給android/相互傳值
https://blog.csdn.net/meijuanyou/article/details/54973556

 

附加:
JS對象的方法定義了一個函數,並作為對象的屬性存儲。
https://www.cnblogs.com/lcs-java/p/8468642.html

JS function的定義方法,及function對象的理解。
https://www.cnblogs.com/pingchuanxin/p/5722139.html

 


免責聲明!

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



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