zoukankan      html  css  js  c++  java
  • H5唤起app

    H5唤起app

    1.判断是否在微信中打开

    无论是在哪个平台的客户端Android/IOS,在微信的平台上访问都有一个问题,那就是无法启动客户端,这是微信为了安全性考虑的限制,android这边屏蔽schema协议,除非公司是微信的伙伴加入了白名单才能使用,IOS系统可以去访问app对应appstore的下载页,但是微信经常屏蔽appstore的这个网址,进而访问不到。比较方便的做法就是在微信浏览器中,无论是IOS还是android都去应用宝的下载(IOS 这边最后会到appstore中)页面打开。

    var agent = navigator.userAgent || ''
    var isWx = /micromessenger/i.test(agent)
    if(isWx){
        //微信,提示用户用浏览器打开
    }else{
        //非微信
    }
    

    js的test() 方法用于检测一个字符串是否匹配某个模式.

    RegExpObject.test(string)   
    //string为要检测的字符串。
    //如果字符串 string 中含有与 RegExpObject 匹配的文本,则返回 true,否则返回 false。
    

    2.判断是否为iOS

    var isIOS = /iPhone|iPad|iPod/i.test(agent)   //返回true/false
    

    3.唤起app

    H5启动APP本质上是通过URL scheme打开APP,一个APP可以设置一个或多个打开自己的URL scheme,浏览器去访问某一个APP的URL scheme,然后若系统安装有这个APP,则会请求权限去打开这个APP。

    其实也算是浏览器app打开另一个app,iOS就可以使用 UIApplication 的 canOpenUrl 方法来检测URL scheme 是否能打开对应的APP,而android也是类似的方式。

    当然如果JS跳转URL scheme没有反应,也意味着这个手机没有装这个app。

    <a class='btn'>打开app</a>
    

    如果需要跳转到app指定页面,在URL scheme后面再加一个url即可(URL scheme及url由app开发人员提供。)

    if (isIOS) {
        $('.btn').attr('href','BonDayApp://' + url);
    } else {
        $('.btn').attr('href','bondayapp://bonday.com/scheme?' + url);
    }
    
  • 相关阅读:
    【cocos2d-js网络教程篇】cocos2d-js http网络请求
    COCOS2D
    Laravel5中的Session
    Laravel 下配置 Redis 让缓存、Session 各自使用不同的 Redis 数据库
    cocos-js Http方式网络请求
    Python语法31[module/package+import]
    cocos2d-js callFunc传参
    安装pygame for Python3.5
    阿里云vsftp安装和简单的配置
    Git代码行统计命令集
  • 原文地址:https://www.cnblogs.com/jasmine-95/p/9504774.html
Copyright © 2011-2022 走看看