zoukankan      html  css  js  c++  java
  • ***微信浏览器禁止app下载链接怎么办

    通过扫描二维码下载APP已成为一个非常方便的方式,微信也成为扫描二维码重要的工具,但是扫描后微信浏览器会对APK和appStore的链接进行屏蔽,导致用户无法正常下载。本文提供两个迂回的解决方案:1.使用腾讯应用宝;2.提示用户使用浏览器打开。

    第1种方法不用介绍了,把APP提交给腾讯应用宝即可,需要等待腾讯的审批,审批条件比较苛刻,腾讯采用分级审批方式,如果你是高级开发者,可以不审批先上线,如果是低级开发者,那么辛苦地等待吧。通过之后,会生成一个下载页面,该页面同时还能够跳转到appStore,前提是先录入appStore的相关信息。
    第2种方法思路:
    制作一个app下载页 app-index.html,逻辑如下:

    如果,是weixin浏览器:
    如果,是iphone 或者 ipad:
    则显示“使用Safari打开”
    否则
    显示“使用浏览器打开”
    否则:
    显示下载页面

    测试样例,扫描下面二维码:
    2139579851

    效果如下:
    IMG_0168(0)

    IMG_0169(0)

    IMG_0170(1)

    下面将js实现部分代码列举,也可通过查看源代码了解细节。

    function is_weixin(){
        var ua = navigator.userAgent.toLowerCase();
        if(ua.match(/MicroMessenger/i)=="micromessenger") {
            return true;
        } else {
            return false;
        }
    }
     
    var browser={
        versions:function(){
          var u = navigator.userAgent, app = navigator.appVersion;
            return {
              trident: u.indexOf('Trident') > -1,
              presto: u.indexOf('Presto') > -1,
              webKit: u.indexOf('AppleWebKit') > -1,
              gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1,
              mobile: !!u.match(/AppleWebKit.*Mobile.*/),
              ios: !!u.match(/(i[^;]+;( U;)? CPU.+Mac OS X/),
              android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1,
              iPhone: u.indexOf('iPhone') > -1 ,
              iPad: u.indexOf('iPad') > -1,
              webApp: u.indexOf('Safari') == -1
           }
        }(),
        language:(navigator.browserLanguage || navigator.language).toLowerCase()
    };
     
    function init(){
        if(is_weixin()){
            //weixin为提示使用浏览器打开的div
            document.getElementById("weixin").style.display="block";
            if(browser.versions.ios || browser.versions.iPhone || browser.versions.iPad){
                document.getElementById("step2").innerHTML="2. 在Safari中打开";
            }else{
                document.getElementById("step2").innerHTML="2. 在浏览器中打开";
            }
        }else{
            //下载页div
            document.getElementById("main").style.display="block";
        }
    }
    init();
  • 相关阅读:
    mac上命令行解压rar
    Mac上安装PHP、Apache、MySQL
    8款不错的 CI/CD工具
    Apache 强制Http跳转Https
    使用MySQL的mysqldump命令备份数据库和把数据库备份文件恢复
    MySQL主从复制和读写分离
    Nginx参数调优
    【原创】深入理解Docker容器和镜像 -- 分析了docker的命令含义
    Elasticsearch使用备忘
    通过HTTP RESTful API 操作elasticsearch搜索数据
  • 原文地址:https://www.cnblogs.com/kenshinobiy/p/4705051.html
Copyright © 2011-2022 走看看