在微信中访问增加遮罩层 右上角弹出在浏览器中打开

1.介绍
       将打包好的apk文件部署到服务器,把下载页面的URL通过草料二维码或根据url代码生成一个二维码,由于微信对apk文件经行了屏蔽,所以需要提示用户微信内无法下载,请点击左上角按钮,选择在浏览器中打开进行下载等提示。那么该如何判断用户是否是用微信浏览器呢?

       我们知道 js 可以通过 window.navigator.userAgent 来获取浏览器的相关信息,比如:Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36,那么我们也可以通过该方法来获取微信内置浏览器的相关信息:Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_1 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Mobile/11d201 MicroMessenger/5.3。根据关键字 MicroMessenger 来判断是否是微信内置的浏览器。

       如果是微信中打开,遮罩显示,并提示用户在浏览器中打开进行下载,若是在浏览器中打开,不显示遮罩。

2.实现
2.1 html
<div id="box">
        <div id="pic">
            <img src="image/qr.png" alt="qr">
            <div id="title">
                <h2>魔镜趣游</h2>
                <h3>v1.0.0</h3>
            </div>
            <div id="introduce">
                <p>手机自助旅游导航软件</p>
                <p>以手绘的形式,展现旅游地图</p>
                <p>通过App了解景区,使旅游变得更加简单快乐</p>
            </div>
        </div>
        <div id="loading">
            <a id='load_android' href="http://zphxl.tunnel.qydev.com/app/app-release.apk">Android 下载</a>
            <a id='load_ios' href="javascript:;">ios 立即下载</a>
        </div>
        <div id="shade" style="display: none">
            <p>在微信中无法下载app,<br>请打开左上角按钮选择<span>【在浏览器打开】</span>进行下载</p>
            <img id='img' src="image/3.png" alt="pic">
        </div>
</div>
2.2 css
<style>
        *{
            padding: 0;
            margin: 0;
        }
        body{
            font-family: Verdana, Arial, Helvetica, sans-serif;
            font-size: 12px;
            color: #222222;
        }
        html , body{
            height: 100%;
            width: 100%;
            /*只显示一屏页面*/
            /*overflow: hidden;*/
        }
        #box{
            position: relative;
            height: 100%;
            width: 100%;
        }
        #loading{
            text-align: center;
            position: absolute;
            bottom: 120px;
            left: 50%;
            transform: translateX(-50%);
            -webkit-transform: translateX(-50%);
        }
        #loading a{
            color: #444444;
            display: inline-block;
            border: 1px solid #cccccc;
            width: 500px;
            height: 70px;
            line-height: 70px;
            padding: 20px 20px 20px 50px;
            border-radius: 15px;
            font-size: 40px;
            text-decoration: none;
            box-shadow: 1px 1px 1px #ccc;
        }
        #loading #load_android{
            background: url("image/android.png") no-repeat #5FD6FF 50px 15px;
        }
        #loading #load_ios{
            margin-top: 70px;
            background: url("image/ios.png") no-repeat #5FD6FF 50px 15px;
        }
        #pic{
            text-align: center;
            position: absolute;
            width: 100%;
        }
        #pic img{
            width: 400px;
            height: 400px;
            margin-top: 100px;
            padding: 10px 10px 10px 10px;
            border: 1px solid #444444;
            border-radius: 15px;
        }
        #shade{
            position: relative;
            /*水平居中*/
            text-align: center;
            width: 100%;
            height: 100%;
            background-color:rgba(0,0,0,0.5);
        }
        #shade p{
            position: absolute;
            color: white;
            font-size: 40px;
            text-align: center;
            top:50%;
            width: 100%;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%);
        }
        #shade p span{
            color:#5FD6FF;
        }
        #title{
            width: 100%;
            margin-top: 15px;
        }
        #title h2,h3{
            text-align: center;
            width: 100%;
            font-family: "Adobe 楷体 Std R";
        }
        #title h2{
            font-size: 40px;
        }
        #title h3{
            font-size: 35px;
        }
        #img{
            position: absolute;
            display: block;
            right: 0;
            top:0;
        }
        #introduce{
            margin-top: 60px;
        }
        #introduce p{
            margin-bottom: 15px;
            font-size: 32px;
            color: #1c0c0f;
        }
    </style>

2.3 javascript
<script type="text/javascript">
    window.onload = function(){
        if(isWeiXin()){
            var shade = document.getElementById('shade')
            shade.style.display = 'block'
        }
    }
    function isWeiXin(){
        var ua = window.navigator.userAgent.toLowerCase();
        if(ua.match(/MicroMessenger/i) == 'micromessenger'){
            return true;
        }else{
            return false;
        }
    }
</script>
3.效果
效果显示


  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值