您的位置:首页 > 移动开发

***微信浏览器禁止app下载链接怎么办

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

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

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

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



效果如下:







下面将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();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: