HTML/CSS

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

阿里云

由于微信的限制,应用文件在内置浏览器中下载全部被屏蔽掉,造成很多人用微信扫描二维码下载时点击下载按钮没反应,我想到的是做一个提示用户在浏览器中打开下载。网上流传的各种微信打开下载链接,微信已更新基本失效。今天要加的是一个终极解决方法:弹出一个遮罩提示用户在新的浏览器窗口打开。再也不用管微信如何的更新,直接判断微信的 ua,然后弹出一个遮罩提示用户在浏览器中打开下载。并且不加关闭的按钮。类似于下面这样子:

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

实现原理

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

也想出现在这里?联系我们
创客主机

第一步:

引入默认隐藏层

  1. <a id="J_weixin" class="android-btn" href="#"><img src="img/android-btn.png" alt="安卓版下载" /></a>
  2. <div id="weixin-tip"><p><img src="img/live_weixin.png" alt="微信打开"/><span id="close" title="关闭" class="close">×</span></p></div>

第二步:

添加 CSS 样式

  1. #weixin-tip{display:none;position:fixed;left:0;top:0;background:rgba(0,0,0,0.8);filter:alpha(opacity=80);width:100%;height:100%;z-index:100;}
  2. #weixin-tip p{text-align:center;margin-top:10%;padding:0 5%;position:relative;}
  3. #weixin-tip .close{color:#fff;padding:5px;font:bold 20px/24px simsun;text-shadow:0 1px 0 #ddd;position:absolute;top:0;left:5%;}

第四步:

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

  1. var is_weixin = (function(){return navigator.userAgent.toLowerCase().indexOf('micromessenger') !== -1})();
  2. window.onload = function() {
  3. 	var winHeight = typeof window.innerHeight != 'undefined' ? window.innerHeight : document.documentElement.clientHeight; //兼容IOS,不需要的可以去掉
  4. 	var btn = document.getElementById('J_weixin');
  5. 	var tip = document.getElementById('weixin-tip');
  6. 	var close = document.getElementById('close');
  7. 	if (is_weixin) {
  8. 		btn.onclick = function(e) {
  9. 			tip.style.height = winHeight + 'px'; //兼容IOS弹窗整屏
  10. 			tip.style.display = 'block';
  11. 			return false;
  12. 		}
  13. 		close.onclick = function() {
  14. 			tip.style.display = 'none';
  15. 		}
  16. 	}
  17. }

以上代码,你再也不用担心有多个按钮了。我已经将代码上传到 github 上了,你可以直接下载我的图片和 js 来用。如果这个代码对你有用,希望你在下载时也点击 star 一下。

  • 纯 Javascript 版本
  • jQuery+HTML 版本
  • jquery+HTML 版本

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

已有 1045 人购买
查看演示升级 VIP立刻购买

收藏
(3)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!