H5跟ios、android資料對接

來源:互聯網
上載者:User

標籤:H5頁面   商品   android   ios   click   font   案例   web   rip   

需求:

  APP要用H5頁面做展示,而且要擷取到對應的商品ID,使用者點擊H5頁面跳回APP原生頁面。

方法:

  先要判斷使用者是ios還是android裝置(這裡只考慮ios跟android,因為它倆寫法還是有點不一樣,所以分開),然後禁止掉H5頁面的跳轉,擷取點擊地區的ID,傳給APP。

ios:其中goDetail是ios他們要調用的方法,data就是ID值,type是類型 有其它參數的時候可以傳給APP

 1 var u = navigator.userAgent; //擷取使用者裝置 2 var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios終端 3  4 $("a").click(function(){ 5     var href = $(this).attr("data-href"); 6     if (isIOS && window.WebViewJavascriptBridge) { //ios app 裝置才執行 7         $(this).attr("href","javascript:;");//禁止H5頁面跳轉 8         WebViewJavascriptBridge.callHandler(‘goDetail‘, {"data": href,‘type‘:"1"}, function(){ 9 10         });11         return false;12 13     }14 });

android:在安卓代碼裡面調用H5裡面寫的一個方法gotoAndroidApp(),然後他們擷取goodsDetail參數的值,第一個為ID,第二個為type值,有其它參數的時候可以依次傳多個

1 // 安卓app才調用的方法2 function gotoAndroidApp() {3     $("a").click(function(){4         $(this).attr("href","javascript:;");5         var href = $(this).attr("data-href");6         window.androidVik.goodsDetail(href,1);7         return false;8     });9 }

完整的案例:

 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4     <meta charset="UTF-8"> 5     <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scale=no"> 6     <title>對接app</title> 7 </head> 8 <body> 9 <div class="ios">10     <a href="index.html" data-href="1">ios點擊按鈕</a>11 </div>12 <div class="android">13     <a href="index.html" data-href="2">android點擊按鈕</a>14 </div>15 <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>16 <script type="text/javascript">17 var u = navigator.userAgent; //擷取使用者裝置18 var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios終端19 20 $("a").click(function(){21     var href = $(this).attr("data-href");22     if (isIOS && window.WebViewJavascriptBridge) { //ios app 裝置才執行23         $(this).attr("href","javascript:;");//禁止H5頁面跳轉24         WebViewJavascriptBridge.callHandler(‘goDetail‘, {"data": href,‘type‘:"1"}, function(){25 26         });27         return false;28     }29 });30 // 安卓app才調用的方法31 function gotoAndroidApp() {32     $("a").click(function(){33         $(this).attr("href","javascript:;");34         var href = $(this).attr("data-href");35         window.androidVik.goodsDetail(href,1);36         return false;37     });38 }39 </script>40 </body>41 </html>

 

H5跟ios、android資料對接

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.