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


Posted in Javascript onDecember 24, 2020

用js限制网页只在微信浏览器中打开

js代码一

$(function(){
	//判断页面是否是在微信浏览器打开
	//对浏览器的UserAgent进行正则匹配,不含有微信独有标识的则为其他浏览器
 var useragent = navigator.userAgent;
 if (useragent.match(/MicroMessenger/i) != 'MicroMessenger') {
  window.location.href = "wxError.html";//若不是微信浏览器,跳转到温馨error页面
 }
})

代码二 写成函数方便引用

/**
   * 判断是否是微信环境
   */
  function getIsWxClient () {
    var ua = navigator.userAgent.toLowerCase();
    if (ua.match(/MicroMessenger/i) == "micromessenger") {
      return true;
    }
    return false;
  };

代码三 微信自己写的的代码

window.isInWeixinApp = function() {
    return /MicroMessenger/.test(navigator.userAgent);
  };

页面

<!DOCTYPE html>
<html>
 <head>
 	<meta charset="utf-8">
 	<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
 </head>
 <body>
  <script type="text/javascript">
   var ua = navigator.userAgent.toLowerCase();
   var isWeixin = ua.indexOf('micromessenger') != -1;
   var isAndroid = ua.indexOf('android') != -1;
   var isIos = (ua.indexOf('iphone') != -1) || (ua.indexOf('ipad') != -1);
   if (!isWeixin) {
    document.head.innerHTML = '<title>抱歉,出错了</title><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=0"><link rel="stylesheet" type="text/css" href="https://res.wx.qq.com/open/libs/weui/0.4.1/weui.css" rel="external nofollow" >';
    document.body.innerHTML = '<div class="weui_msg"><div class="weui_icon_area"><i class="weui_icon_info weui_icon_msg"></i></div><div class="weui_text_area"><h4 class="weui_msg_title">请在微信客户端打开链接</h4></div></div>';
   }
  </script>
 </body>
</html>

一般情况下限制页面被pc端访问就可以了,那么就可以参考下面的代码了

在需要被pc端访问的页面的脚本里加上如下代码即可:

<script>
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("Linux") == 0);
if (system.win || system.mac || system.xll) {//如果是PC转
if (u.indexOf('Windows Phone') > -1) { //win手机端

} else {


window.location.href = "提示页面路径";

}
}

</script>

再附一个各大网站常用的代码

var browser = {
	versions : function () {
		var u = navigator.userAgent,
		app = navigator.appVersion;
		return {
			trident : u.indexOf('Trident') > -1,
			presto : u.indexOf('Presto') > -1,
			webKit : u.indexOf('AppleWebKit') > -1,
			gecko : u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1,
			mobile : !!u.match(/AppleWebKit.*Mobile.*/) || !!u.match(/AppleWebKit/),
			ios : !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),
			android : u.indexOf('Android') > -1 || u.indexOf('Linux') > -1,
			iPhone : u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1,
			iPad : u.indexOf('iPad') > -1,
			webApp : u.indexOf('Safari') == -1,
			QQbrw : u.indexOf('MQQBrowser') > -1,
			UCbrw : u.indexOf('UCBrowser') > -1,
			weiXin : u.indexOf('MicroMessenger') > -1,
			ucLowEnd : u.indexOf('UCWEB7.') > -1,
			ucSpecial : u.indexOf('rv:1.2.3.4') > -1,
			
			ucweb : function () {
				try {
					return parseFloat(u.match(/ucweb\d+\.\d+/gi).toString().match(/\d+\.\d+/).toString()) >= 8.2
				} catch (e) {
					if (u.indexOf('UC') > -1) {
						return true;
					} else {
						return false;
					}
				}
			}
			(),
			Symbian : u.indexOf('Symbian') > -1,
			ucSB : u.indexOf('Firefox/1.') > -1
		};
	}
	()
}

到这里就完美了,三水点靠木小编专门从电影网站扒的代码。

Javascript 相关文章推荐
js 变量类型转换常用函数与代码[比较全]
Dec 01 Javascript
JS 无法通过W3C验证的处理方法
Mar 09 Javascript
url 编码 js url传参中文乱码解决方案
Apr 11 Javascript
jquery DOM操作 基于命令改变页面
May 06 Javascript
将HTML的左右尖括号等转义成实体形式的两种实现方式
May 04 Javascript
JavaScript cookie详解及简单实例应用
Dec 31 Javascript
JavaScript设计模式之装饰者模式实例详解
Jan 17 Javascript
Vue项目总结之webpack常规打包优化方案
Jun 06 Javascript
Node.js 实现远程桌面监控的方法步骤
Jul 02 Javascript
node中使用log4js4.x版本记录日志的方法
Aug 20 Javascript
关于vue3.0中的this.$router.replace({ path: '/'})刷新无效果问题
Jan 16 Javascript
vue实现井字棋游戏
Sep 29 Javascript
vue引用外部JS的两种种方法
Jan 28 #Javascript
Java Varargs 可变参数用法详解
Jan 28 #Javascript
关于引入vue.js 文件的知识点总结
Jan 28 #Javascript
JS简单表单验证功能完整示例
Jan 26 #Javascript
JS实现的定时器展示简单秒表、页面弹框及跳转操作完整示例
Jan 26 #Javascript
js常用方法、检查是否有特殊字符串、倒序截取字符串操作完整示例
Jan 26 #Javascript
vue跳转方式(打开新页面)及传参操作示例
Jan 26 #Javascript
You might like
PHP中的MYSQL常用函数(php下操作数据库必备)
2010/09/12 PHP
php隐藏IP地址后两位显示为星号的方法
2014/11/21 PHP
php使用指定编码导出mysql数据到csv文件的方法
2015/03/31 PHP
thinkphp项目部署到Linux服务器上报错“模板不存在”如何解决
2016/04/27 PHP
PHP配合fiddler抓包抓取微信指数小程序数据的实现方法分析
2020/01/02 PHP
TP5多入口设置实例讲解
2020/12/15 PHP
fckeditor 获取文本框值的实现代码
2009/02/09 Javascript
JavaScript 保存数组到Cookie的代码
2010/04/14 Javascript
JS中confirm,alert,prompt函数区别分析
2011/01/17 Javascript
jQuery学习笔记 更改jQuery对象
2012/09/19 Javascript
JS 加入收藏夹的代码(主流浏览器通用)
2013/05/13 Javascript
js中的eventType事件及其浏览器支持性介绍
2013/11/29 Javascript
jQuery插件FusionCharts绘制2D柱状图和折线图的组合图效果示例【附demo源码】
2017/04/10 jQuery
基于Vue开发数字输入框组件
2017/12/19 Javascript
Vue项目引进ElementUI组件的方法
2018/11/11 Javascript
JavaScript显式数据类型转换详解
2019/03/18 Javascript
小程序实现订单倒计时功能
2019/04/23 Javascript
layui实现tab的添加拒绝重复的方法
2019/09/04 Javascript
vue基于better-scroll实现左右联动滑动页面
2020/06/30 Javascript
基于javascript处理nginx请求过程详解
2020/07/07 Javascript
jQuery开发仿QQ版音乐播放器
2020/07/10 jQuery
Ubuntu下安装PyV8
2016/03/13 Python
常见python正则用法的简单实例
2016/06/21 Python
详解python之多进程和进程池(Processing库)
2017/06/09 Python
python中文件变化监控示例(watchdog)
2017/10/16 Python
使用Python爬取弹出窗口信息的实例
2020/03/14 Python
PyCharm 2020.2 安装详细教程
2020/09/25 Python
Html5 localStorage入门教程
2018/04/26 HTML / CSS
html5的画布canvas——画出简单的矩形、三角形实例代码
2013/06/09 HTML / CSS
HTML5拖放API实现自动生成相框功能
2020/04/07 HTML / CSS
法国在线宠物店:zooplus.fr
2018/02/23 全球购物
思想汇报范文
2013/11/04 职场文书
淘宝客服工作职责
2014/07/11 职场文书
教育实践活动对照检查材料
2014/09/23 职场文书
python接口测试返回数据为字典取值方式
2022/02/12 Python
vue elementUI表格控制对应列
2022/04/13 Vue.js