知识分享

解决微信内置浏览器不支持下载文件应用的方法

发表日期:2016/3/27 8:29:45 文章编辑: 浏览次数:3573

      使用微信打开网址时,由于网站制作与设计过程中不同端口的兼容性,无法在微信内打开常用下载软件,手机APP等。网上流传的各种微信打开下载链接,微信已更新基本失效,最新的一个是使用链接跳转方式:

HTTP://mp.weixin.qq.com/mp/redirect?url=http://caibaojian.com/test.apk#weixin.qq.com#wechat_redirect。

将链接文本中的http://caibaojian.com/test.apk换成你的下载链接地址。本人已经测试可行。欢迎打开微信扫码测试。已经失效,用户可以将应用传到应用宝。

终极解决方法

      今天要加的是一个终极解决方法:弹出一个遮罩提示用户在新的浏览器窗口打开

      再也不用管微信如何的更新,直接判断微信的ua,然后弹出一个遮罩提示用户在浏览器中打开下载。并且不加关闭的按钮。类似于下面这样子:

微信打开网址添加在浏览器中打开提示

      这样子用户就只能在浏览器中打开,并且可以直接下载应用了。欢迎打开微信扫描查看(其他扫描没有效果)。

演示和下载

 此处内容需要登录才可见

如果你已经将它用在你的项目中了,欢迎留下你的在线地址哦。

另加一个判断手机QQ的UA

function is_mobileQQ() {
var ua = navigator.userAgent.toLowerCase();
if (ua.match(/\sQQ/i) == " qq" && /iphone/i.test(ua) == false) {
return true;
} else {
return false;
}
}

注意由于这个代码一进入就是弹出提示,可能会影响用户其它操作,故而写了另一篇优化的代码,支持用户点击下载链接之后才弹出提示,并且还可以点击关闭。

      由于微信的限制,应用文件在内置浏览器中下载全部被屏蔽掉,造成很多人用微信扫描二维码下载时点击下载按钮没反应,我想到的是做一个提示用户在浏览器中打开下载。

其实原来很简单,就是判断当前是在微信内置浏览器中,然后将默认隐藏的提示层显示出来。

      第一步:判断微信的UA。

var ua = navigator.userAgent;
var isWeixin =  !!/MicroMessenger/i.test(ua);

      第二步:引入默认隐藏层。

点击下载APP点击下载APP2

点击右上角
选择在浏览器中打开

      第三步:添加CSS样式

.wxtip{background: rgba(0,0,0,0.8); text-align: center; position: fixed; left:0; top: 0; width: 100%; height: 100%; z-index: 998; display: none;}
.wxtip-icon{width: 52px; height: 67px; background: url(weixin-tip.png) no-repeat; display: block; position: absolute; right: 20px; top: 20px;}
.wxtip-txt{margin-top: 107px; color: #fff; font-size: 16px; line-height: 1.5;}

      第四步:点击按钮显示隐藏层,点击隐藏层关闭,总的JS代码如下:

function weixinTip(ele){	var ua = navigator.userAgent;	var isWeixin = !!/MicroMessenger/i.test(ua);	if(isWeixin){		ele.onclick=function(e){			window.event? window.event.returnValue = false : e.preventDefault();			document.getElementById('JweixinTip').style.display='block';
		}		document.getElementById('JweixinTip').onclick=function(){			this.style.display='none';
		}
	}
}var btn1 = document.getElementById('JdownApp');//下载一weixinTip(btn1);var btn2 = document.getElementById('JdownApp2'); //下载二weixinTip(btn2);

以上代码,你再也不用担心有多个按钮了。

欢迎专注北京网站建设公司   莹晨设计

将文章分享到..
相关新闻
全新新闻
随机新闻
最新网站设计案例
Hi,我来帮您!