admin管理员组

文章数量:1586540

通过微信的扫一扫去下载,会出现白屏的情况,可能是因为安全性的考虑或者其他什么原因,目前已经无法通过微信的扫一扫去下载apk了。

根据网友们提供的思路,本文整理了三种方案。

1、申请腾讯开放平台开发者

具体流程可以去访问http://open.qq/,大概的意思是需要将apk提交到腾讯开放平台的里面,每个apk应该会自动生成一个二维码,每年支付一定的费用,然后在微信里面扫一下这个二维码,这个时候也需要先安装一个手机应用宝,才能进行 apk的安装。

对于这种方案,只能用一种很流行的话说:”很任性”。

2、重定向

这种方法对于一些已经发布出去的二维码比较有用,也是目前比较普遍的做法。不可能因为微信不能直接下载了,就得把所有的已经流出去的二维码重新生成吧?

2.1 判断浏览器类型

/*首先判断是否是pc,若是pc访问则跳转到http://app.ctrip/*/
    var u = navigator.userAgent || '';
    var isPC = !/(iphone|ios|android|mini|mobile|mobi|Nokia|Symbian|iPod|iPad|Windows\s+Phone|MQQBrowser|wp7|wp8|UCBrowser7|UCWEB|360\s+Aphone\s+Browser)/i.test(u);
    if (isPC) { location.href = "http://www.hipermart"; }

如果是pc端的话,那么直接重定向到一个网站

如果是非pc端的话,那么要区分是android还是apple?

2.2 判断是android还是iOS?

因为我们假设iOS的下载必须从苹果的appstore里面下载,那么其下载地址有一定的规律,比如说sourceid等。

可以通过一个正则表达式来确定。

var urls = document.location.search, re2 = new RegExp("(\\\?|&)sourceid=([^&]+)(&|$)", "i"), from = urls.match(re2);
    if (from) { sid = from[2]; }

document.location.search

比如一个URL是XXXX?g=1,那么document.location.search的值就是?g=1

2.3 重定向到下载地址

 

window.onload = function () { //修复图片偶尔不能加载
        var salesLocal = localStorage.getItem("SALESOBJ") ? JSON.parse(localStorage.getItem("SALESOBJ")) : null;
        var appUrl = salesLocal && salesLocal.data && salesLocal.data.appurl ? salesLocal.data.appurl : "";
        if (!isPC && !iswx) {
            if(appUrl){
                location.href = appUrl;
            }else if(sid){
                location.href = "/m/" + sid;
            }
        }
    }

 

2.4 html页面源文件

 

<!DOCTYPE html>
<html>
<head>
    

本文标签: 一扫解决方案微信扫apk