H5跟ios、android数据对接

需求:

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>

(转自博客园)

· 学IT,就来中公优就业:http://www.ujiuye.com/

· 2017年【中公教育】特别推出2017年就业促进计划,500万就业基金助你成为IT达人

详情请戳http://www.ujiuye.com/zt/jycj/?wt.bd=bgz

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 以下是常用的代码收集,学习用。转自豪情博客园 1. PC - js 返回指定范围的随机数(m-n之间)的公式 re...
    自由加咖啡阅读 1,027评论 0 1
  • 窝在床上看一本书《皮囊》,只看到第二篇《母亲的房子》就几度落泪。文章讲的是作者母亲,在小镇建一座四层楼房子的曲折故...
    刘小丸阅读 2,003评论 3 5
  • 作者/胄宁 思绪来转万千愁,无需多留,独饮闲闷酒。平野散愁愁不散,独见江边小兰舟。 尔今擎舟何欲往?江心小亭,寻觅...
    胄宁阅读 236评论 0 2
  • Photos是什么 Photos是苹果全新的照片框架,其要求最低版本为iOS8.利用Photos可以实现以下功能:...
    李现科阅读 3,080评论 4 6