由于微信的限制, 应用文件在内置浏览器中下载全部被屏蔽掉, 造成很多人用微信扫描二维码下载时点击下载按钮没反应, 我想到的是做一个提示用户在浏览器中打开下载.
之前写过的两篇文章: 微信打开网址添加在浏览器中打开提示 和 微信扫描打开 App 下载链接提示代码优化, 尽管已经做得很简单, 但发现很多问这类问题的都是小白.
其实原来很简单, 就是判断当前是在微信内置浏览器中, 然后将默认隐藏的提示层显示出来.
第一步: 判断微信的 UA.
- var ua = navigator.userAgent;
- var isWeixin = !!/MicroMessenger/i.test(ua);
第二步: 引入默认隐藏层.
- <a href="http://caibaojian.com/test.apk" id="JdownApp">
- 点击下载 App
- </a>
- <a href="http://caibaojian.com/test.apk" id="JdownApp2" class="btn-warn">
- 点击下载 APP2
- </a>
- <div class="wxtip" id="JweixinTip">
- <span class="wxtip-icon">
- </span>
- <p class="wxtip-txt">
- 点击右上角
- < br/>
- 选择在浏览器中打开
- </p>
- </div>
第三步: 添加 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){
- Windows.event? Windows.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);
以上代码, 你再也不用担心有多个按钮了.
来源: http://www.bubuko.com/infodetail-2934876.html