欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

H5跟ios、android数据对接的方式

程序员文章站 2022-04-10 17:39:41
...
需求:

  APP要用H5页面做展示,而且要获取到对应的商品ID,用户点击H5页面跳回APP原生页面。

方法:

  先要判断用户是ios还是android设备(这里只考虑ios跟android,因为它俩写法还是有点不一样,所以分开),然后禁止掉H5页面的跳转,获取点击区域的ID,传给APP。

ios:其中goDetail是ios他们要调用的方法,data就是ID值,type是类型 有其它参数的时候可以传给APP


var u = navigator.userAgent; //获取用户设备
var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端

$("a").click(function(){
    var href = $(this).attr("data-href");
    if (isIOS && window.WebViewJavascriptBridge) { //ios app 设备才执行
        $(this).attr("href","javascript:;");//禁止H5页面跳转
        WebViewJavascriptBridge.callHandler('goDetail', {"data": href,'type':"1"}, function(){

        });
        return false;

    }
});

android:在安卓代码里面调用H5里面写的一个方法gotoAndroidApp(),然后他们获取goodsDetail参数的值,第一个为ID,第二个为type值,有其它参数的时候可以依次传多个


// 安卓app才调用的方法
function gotoAndroidApp() {
    $("a").click(function(){
        $(this).attr("href","javascript:;");
        var href = $(this).attr("data-href");
        window.androidVik.goodsDetail(href,1);
        return false;
    });
}

完整的案例:


<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scale=no">
    <title>对接app</title>
</head>
<body>
<div>
    <a href="index.html" data-href="1">ios点击按钮</a>
</div>
<div>
    <a href="index.html" data-href="2">android点击按钮</a>
</div>
<script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script type="text/javascript">
var u = navigator.userAgent; //获取用户设备
var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端

$("a").click(function(){
    var href = $(this).attr("data-href");
    if (isIOS && window.WebViewJavascriptBridge) { //ios app 设备才执行
        $(this).attr("href","javascript:;");//禁止H5页面跳转
        WebViewJavascriptBridge.callHandler('goDetail', {"data": href,'type':"1"}, function(){

        });
        return false;
    }
});
// 安卓app才调用的方法
function gotoAndroidApp() {
    $("a").click(function(){
        $(this).attr("href","javascript:;");
        var href = $(this).attr("data-href");
        window.androidVik.goodsDetail(href,1);
        return false;
    });
}
</script>
</body>
</html>

以上就是H5跟ios、android数据对接的方式的详细内容,更多请关注其它相关文章!