用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 相关文章推荐
写了10年的Javascript也未必全了解的连续赋值运算
Mar 25 Javascript
jQuery中读取json文件示例代码
May 10 Javascript
使用纯javascript实现经典扫雷游戏
Apr 23 Javascript
JavaScript实现下拉列表框数据增加、删除、上下排序的方法
Aug 11 Javascript
javascript省市区三级联动下拉框菜单实例演示
Nov 29 Javascript
JavaScript 七大技巧(二)
Dec 13 Javascript
javascript实现简单的全选和反选功能
Jan 05 Javascript
浅析Javascript匿名函数与自执行函数
Feb 06 Javascript
JS实现获取进今年第几天是周几的方法分析
Jun 27 Javascript
Vue常用的几个指令附完整案例
Nov 06 Javascript
JavaScript定时器设置、使用与倒计时案例详解
Jul 08 Javascript
jQuery设置下拉框显示与隐藏效果的方法分析
Sep 15 jQuery
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源码加密 仿微盾PHP加密专家(PHPCodeLock)
2010/05/06 PHP
浅谈php提交form表单
2015/07/01 PHP
让任务管理器中的CPU跳舞的js代码
2008/11/01 Javascript
基于jQuery实现网页进度显示插件
2015/03/04 Javascript
IE10中flexigrid无法显示数据的解决方法
2015/07/26 Javascript
jQuery中的ajax async同步和异步详解
2015/09/29 Javascript
jQuery中的siblings用法实例分析
2015/12/24 Javascript
JavaScript中用let语句声明作用域的用法讲解
2016/05/20 Javascript
Javascript动画效果(3)
2016/10/11 Javascript
页面间固定参数,通过cookie传值的实现方法
2017/05/31 Javascript
React入门教程之Hello World以及环境搭建详解
2017/07/11 Javascript
ui-router中使用ocLazyLoad和resolve的具体方法
2017/10/18 Javascript
jQuery实现鼠标响应式淘宝动画效果示例
2018/02/13 jQuery
优化Python代码使其加快作用域内的查找
2015/03/30 Python
python中的插值 scipy-interp的实现代码
2018/07/23 Python
python批量修改图片大小的方法
2018/07/24 Python
python3读取图片并灰度化图片的四种方法(OpenCV、PIL.Image、TensorFlow方法)总结
2019/07/04 Python
Python实现某论坛自动签到功能
2019/08/20 Python
Python的形参和实参使用方式
2019/12/24 Python
python matplotlib画盒图、子图解决坐标轴标签重叠的问题
2020/01/19 Python
python系统指定文件的查找只输出目录下所有文件及文件夹
2020/01/19 Python
将数据集制作成VOC数据集格式的实例
2020/02/17 Python
基于Pyinstaller打包Python程序并压缩文件大小
2020/05/28 Python
Python爬虫基于lxml解决数据编码乱码问题
2020/07/31 Python
电脑教师的自我评价
2013/12/18 职场文书
国际贸易毕业生求职信范文
2014/02/21 职场文书
房产代理公证处委托书
2014/04/04 职场文书
医学检验专业自荐信
2014/09/18 职场文书
机关干部四风问题自查报告及整改措施
2014/10/26 职场文书
酒店人事主管岗位职责
2015/04/11 职场文书
2015年爱国卫生工作总结
2015/04/22 职场文书
答谢酒会主持词
2015/07/02 职场文书
幼儿园庆元旦主持词
2015/07/06 职场文书
职场中的你,辞职信写对了吗?
2019/06/26 职场文书
JS创建或填充任意长度数组的小技巧汇总
2021/10/24 Javascript
python+pyhyper实现识别图片中的车牌号思路详解
2022/12/24 Python