Javascript前端控制只能在手机微信端访问页面

设置H5页面只可微信浏览器打开 var useragent = navigator.userAgent; if (useragent.match(/MicroMessenger/i) != 'MicroMessenger') { // 这里警告框会阻塞当前页面继续加载 // 以下代码是用javascript强行关闭当前页面 // alert("已禁止本次访问:您必须使用微信内置浏览器访问本页面!"); window.location.href = "https://open.weixin.qq.com/co 阅读详情

最近接到一个只能在手机微信端访问页面的需求,限于不能跟微信做交互,所以用js来获取设备信息,前端校验锁死。
关键点:
PC F12被禁用
PC backspace被禁用
//ios终端 禁止ios10以下
加在页面先校验,若不通过则window.stop();停止一切代码加载,也防止了加载无用数据

js代码


```javascript
var str = "本页面禁止PC端使用,请在手机微信客户端操作。感谢您的配合!";
function checkPlatform(){
  //禁止网站F12
  document.onkeydown = function(){
    if(window.event && window.event.keyCode == 123) {
      alert("F12被禁用");
      event.keyCode=0;
      event.returnValue=false;
    }
    if(window.event && window.event.keyCode == 13) {
      window.event.keyCode = 505;
    }
    if(window.event && window.event.keyCode == 8) {
      alert(str+"\n请使用Del键进行字符的删除操作!");
      window.event.returnValue=false;
    }
  }
  var u = navigator.userAgent;
  //ios终端
  var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
  //android终端
  var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; 

  if(/MicroMessenger/i.test(navigator.userAgent)){
    var is_mobi = navigator.userAgent.toLowerCase().match(/(ipod|ipad|iphone|android|coolpad|mmp|smartphone|midp|wap|xoom|symbian|j2me|blackberry|wince)/i) != null;
    if (is_mobi) {
      if(isiOS){
        //判断是不是ios10系统
        var ver = (navigator.appVersion).match(/OS (\d+)_(\d+)_?(\d+)?/);
        ver = parseInt(ver[1], 10);
        if(ver<10) {
          str = '您当前手机的系统版本不支持,请在IOS10及以上版本操作';
          showforbidpage();
        } else {
          //可以继续操作
        }
      }
    }else{
      str = '请在手机微信客户端打开链接';
      showforbidpage();
    }
  }else {
    str = '请在手机微信客户端打开链接';
    showforbidpage();s
  }
}
function showforbidpage(){
  window.stop();
  var img = '<img style="width:100px; height:100px" src="http://l087-prod.oss-cn-szfinance.aliyuncs.com/lmes_new/dev/h5_image/chahao.png">';
  var div = '<div><div style="padding-top: 20px;text-align: center;">'+img+'</div><div style="padding-top: 20px;text-align: center;"><h4>'+str+'</h4></div></div>';
  $("body").html(div);
}

$(document).ready(function(){
  checkPlatform();
});
微信HTTPS页面白屏问题深度排查与解决方案 HTTPS作为保障Web通信安全的核心协议,其工作原理基于SSL/TLS握手与证书验证机制,确保数据传输的加密与身份可信。在工程实践中,尤其在微信这类定制化浏览器环境中,证书链完整性、TLS协议版本兼容性以及服务器响应头配置等技术细节,直接决定了页面的可访问性。微信内置的X5内核在安全策略上更为严格,对不完整的证书链、不支持的加密套件或错误的Content-Type头部会直接阻断渲染,导致白屏现象。理解并优化这些基础配置,是确保H5活动页、支付回调等关键业务在微信生态内稳定运行的重要前提。本文聚焦证书校验、 阅读详情

相关推荐

微信小程序安全获取用户手机号:从原理到实战的完整指南

在移动应用开发中,用户身份验证与数据安全是核心议题。微信小程序通过其独特的授权与加密机制,为开发者提供了获取用户敏感信息(如手机号)的安全通道。其原理基于OAuth 2.0授权框架与前端不接触明文数据的安全模型,前端仅获取一次性凭证(code),后端则结合会话密钥(session_key)与AES-128-CBC算法进行解密。这一设计的技术价值在于,在保障用户体验(一键授权)的同时,将核心解密逻辑与密钥管理置于受信任的服务端,有效防止了敏感信息在前端泄露的风险。该机制广泛应用于用户注册、登录、实名认证等需要

weixin_33714884的博客 476

企业微信PC端打不开h5页面

这个问题是个大坑,h5页面在手机上能打开,但是在pc端不行。从https到http,甚至怀疑是vue的问题,然而都没解决。最终,尝试了文档中的这句话: 我之前引入的版本是1.3.2,换成1.2.0,立即就好了 ...

令瑞斌 3623

微信公众号手机号登录全链路技术解析与最佳实践

OAuth2.0授权协议是构建现代应用用户身份认证体系的核心技术之一,它通过授权码模式,在保障安全的前提下,实现了用户资源的受控访问。其核心原理在于分离资源所有者、客户端与资源服务器,通过授权服务器颁发短期有效的访问令牌来替代用户凭证,从而提升安全性并支持跨平台单点登录。这一技术在构建企业级用户体系、实现数据资产沉淀方面具有重要价值,尤其在需要打通多端用户身份、进行精细化运营的场景下不可或缺。微信公众号生态作为重要的流量入口,其提供的网页授权与手机号获取能力,正是OAuth2.0协议在特定平台上的深度应用。

weixin_34195546的博客 363

限制网页只能从移动手机端打开不能从电脑浏览器打开

HTML添加JS代码 var system = {}; var p = navigator.platform; var u = navigator.userAgent; system.win = p.indexOf("Win") == 0; system.mac = p.indexOf("Mac") == 0; system.x11 = (p == "X11") || (p.indexOf("

苏南生的优快云博客 1万+

SAP Field Service Management 和微信集成的案例分享和实现介绍

SAP FSM(Field Service Management), 属于SAP C/4HANA五朵云里的Service Cloud.本文介绍笔者在工作中经历过的一个项目,包含 SAP Field Service Management 同微信集成的一个场景的功能需求分析和详细的技术实现。我们需要在微信里能够显示FSM的数据,比如FSM里的产品和客户主数据: 一种简易的方式就是使用FSM提供的Query API. 打开FSM官网的帮助文档: https://docs.coresystems.net/dev-i

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1743

H5外部浏览器直接调起微信手机网站调用微信分享

H5外部浏览器直接调起微信 tml5手机网站调用微信分享,其中示例包括 1. 获取网络类型 2. 调起客户端的图片播放组件 3. 调用微信扫描二维码 4. 判断是否安装对应的应用 5. 发送邮件 6. 分享到微信朋友圈

html页面加载速度慢,如何加快HTML页面加载速度

小程序聊天对话,每次都显示最新消息(让页面自动滚动到底部)//页面自动滚动到底部pageScrollToBottom:function(){wx.createSelectorQuery().select('#scrollpage').boundingClientRect(function(rect){// console.log(rect.height)...springmvc向返回页面传递参数一...

weixin_30382147的博客 1113

用js限制网页只在微信浏览器中打开(或者只能手机端访问)

主要介绍了用js限制网页只在微信浏览器中打开,很多电影站也是这么限制的,需要的朋友可以参考下

微信商城单页面跳转、返回,超快的体验

Wemall 公告通知 各位小伙伴们,单页web应用wemall提速了,欢迎大家多使用多提供反馈意见。在微信端使用速度提升30%,实现单页面跳转,物理按键的单页面返回。 什么是单页web应用? 单页应用给传统网站带来的好处? 相对于传统网站,我们认为单页应用的主要好处是...

chingane82836的博客 223

Linux运维踩坑实录:手把手教你修复LVM中PV显示[unknown]的诡异问题

本文详细解析了Linux运维中LVM物理卷(PV)显示[unknown]的故障现象及修复方法。通过分析问题根源、提供标准修复流程和特殊场景处理方案,帮助运维人员快速解决VG容量异常、PV状态丢失等问题,并分享预防措施与最佳实践,确保LVM存储系统的稳定运行。

weixin_26869081的博客 348

智警杯1.4---excel可视化

知识点

lulu001128的博客 949

【Thinkphp/Laravel】基于微信小程序的招聘系统o9847

基大学生求职招聘被用户普遍使用,为方便管理员能够可以随时进行大学生求职招聘的数据信息管理,特开发了基于大学生求职招聘的管理系统。大学生求职招聘的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与大学生求职招聘管理的实际需求相结合,讨论了基于大学生求职招聘管理的使用。于大学生求职招聘的设计基于现有的智能手机上运行,可以实现管理员服务端;首页、个人中心、用户管理、公司信息管理、招聘信息管理、应聘信息管理、录取信息管理、系统管理等功能。方便用户微信端;首页、公司信息、招聘信息、公告信息、我的等。

QQ_188083800的博客 1071

GBT 27930-2015/2023国标充电协议A类CAN报文ID说明

国标充电CAN的ID,仅供学习参考。

qqq080的博客 7801

公司前端开发架构改造

要看更多的文章,欢迎访问我的个人博客: http://oldli.net 现在的前端早已不是几年前的前端,再也不是jQuery加一个插件就能解决问题的时代。 最近对公司前端的开发进行了一系列的改造,初步达到了我想要的效果,但是未来还需要更多的改进。最终要完美的实现目标:工程化,模块化,组件化。 这是一个艰难的,持续的,不断进化的过程! 先...

weixin_33860528的博客 303

PX4实战(四):PX4 uorb模块详解

本节主要讲解PX4中的uorb消息,主要包括uorb的基本概念使用、PX4内重要的uorb消息、如何自定义uorb消息以及使用uorb消息的注意点等,其中讲解重要uorb消息是为了对PX4内重要数据结构有初步的了解,有助于后期算法理解。uORB(micro Object Request Broker)是PX4中用于模块间通信的轻量级发布-订阅(Publish/Subscribe)机制。模块之间可以通过uORB传递消息,无需直接调用对方函数;提高系统模块化与解耦性;

PX4-SLAM-PNC 1930

图文详解Trae配置Java开发环境

本文介绍了Trae开发工具的安装配置流程:首先从官网下载安装Trae,然后安装Java开发所需的Extension Pack for Java和Spring Boot Extension Pack插件。关键步骤包括修改settings.json配置文件,需指定JDK路径、Maven可执行文件路径和用户设置文件路径。所有操作均配有图示说明,并强调要替换为实际电脑路径。

谷哥的小弟 5992

怎么关闭小米浏览器的默认浏览器模式

这篇文章主要介绍了怎么关闭小米浏览器的默认浏览器模式,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。

chatgpt001的博客 423

分享一份小度在家1C系列NV2101刷机保姆级教程,轻松解锁第三方应用!(内含详细教程、刷机工具和救砖等工具)

分享一份小度在家1C系列NV2101刷机保姆级教程,轻松解锁第三方应用!(内含详细教程、刷机工具和救砖等工具)

XiaoqiangClub的博客 7156

Thinkphp/Laravel线上教学辅助系统小程序.

教学辅助小程序学生端要求在系统的安卓手机上可以运行,主要实现了线上考试和成绩查询等相关信息的查看,并且根据需求进行对管理端;首页、个人中心、学生管理员、教师管理、课程类型管理、课程信息管理、课程表管理、成绩信息管理、预警信息管理、请假信息管理、考勤信息管理、系统管理,教师微信端;

qq840612233的博客 1080

大语言模型在金融风险预警中的推理应用探索

金融行业一直面临着各种风险,如信用风险、市场风险、操作风险等。准确及时的风险预警对于金融机构的稳定运营和投资者的利益保护至关重要。传统的金融风险预警方法主要基于结构化数据和统计模型,虽然在一定程度上能够识别风险,但对于非结构化数据的处理能力有限,难以捕捉到复杂的风险因素和潜在的风险趋势。大语言模型作为自然语言处理领域的重要突破,具有强大的语言理解和生成能力,能够处理各种形式的文本数据。

AI天才研究院 1169

【程序源代码】小程序商城系统(含全套源码、前端源码、后端源码、微信小程序源码)

Weshop是基于Spring Cloud(Greenwich)开发的小程序商城系统,提供整套公共微服务服务模块,包含用户中心、商品中心、订单中心、支付中心四大基础服务模块,微信端、管理平台两大聚合服务模块,支持服务治理、监控和追踪等功能。

程序源代码 1897

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

微信小程序php+uniapp理发店美容预约系统

美容预约小程序微信端要求在系统的手机上可以运行,主要实现了管理端;首页、个人中心、用户管理、服务项目管理、美容师管理、预约管理、类型管理、系统管理,微信端;首页、预约、我的等主要功能模块的操作和管理。爱美是女人的天性,所以我的关注点自然在于美容上。经过调查,包括询问家中的长辈以及附近美容院的人,发现现在的美容院已经不再仅仅只有保养脸了。他们更多的加入了身体的护理以及养生的概念。这样一来,美容院本身的项目逐渐增多,产品逐渐增多。因此员工的工作量也加大了许多。

qq_3166678367的博客 1081

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

基于php/Laravel微信小程序的历史知识在线学习系统

教师进入到界面,通过界面的任务大厅,登录成功后进入到系统查看首页、个人中心、今日历史管理、题库练习管理、试题管理、考试管理等功能模块,基于中学历史学习系统的设计基于现有的智能手机上运行,可以实现服务端;首页、个人中心、学生管理、教师管理、今日历史管理、题库练习管理、试题管理、留言反馈、系统管理、考试管理等功能。方便微信端;首页、今日历史、我的 等详细的了解及统计分析系统设计需要从学生和管理员、教师的实际需求开始,以了解他们需要实施哪些功能以及他们可以包括哪些管理工作。

QQ188083800的博客 760

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

基于微信小程序的学生公寓电费信息管理系统

开发语言:Java使用框架:spring boot前端技术:JavaScript、VUE.js(2.X)、css3数据库:MySQL 5.7数据库管理工具:Navicat或sqlyog开发工具:IDEA或Ecplise本系统使用了微信开发者结合java和mysql结合的结构开发了学生公寓电费信息管理系统 应用,系统中所有和数据库有关系的操作都通过一个通用类来实现,大大提高了代码的耦合性,当数据库类型等信息变化后直接修改类文件就可以了,不再需要每个页面都修改。

xy520chxu的博客 174

微信小程序Thinkphp/Laravel健身教练私教预约系统

私教预约系统的开发过程中,采用微信开发者架构,后台使用Java技术进行开发,使用Mysql数据库。该私教预约系统包括用户和管理员。其主要功能包括管理员服务端:首页、个人中心、用户管理、教练管理、教练简介管理、在线预约管理、健身指南管理、论坛管理、系统管理,用户微信端:首页、教练简介、健身指南、论坛交流、我的等功能。 本系统设计的是一个私教预约系统的网站,此网站使用户实现了不需出门就可以在手机或电脑前进行网上查询需求信息等。 用户在注册登陆后,在微信端可以实现;首页、教练简介、健身指南、论坛交流、我的等。然而

qq_3166678367的博客 761
上一篇: Javascript 前台实现图片懒加载
下一篇: JS this指向解析
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

请叫我大豆包

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值