用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 相关文章推荐
JavaScript获取页面上某个元素的代码
Mar 13 Javascript
深入解析contentWindow, contentDocument
Jul 04 Javascript
解析Jquery中如何把一段html代码动态写入到DIV中(实例说明)
Jul 09 Javascript
使用js声明数组,对象在jsp页面中(获得ajax得到json数据)
Nov 05 Javascript
JS动态添加与删除select中的Option对象(示例代码)
Dec 20 Javascript
Javascript获取background属性中url的值
Oct 17 Javascript
解析Javascript单例模式概念与实例
Dec 05 Javascript
JS中绑定事件顺序(事件冒泡与事件捕获区别)
Jan 24 Javascript
jQuery Validate格式验证功能实例代码(包括重名验证)
Jul 18 jQuery
浅谈vue 锚点指令v-anchor的使用
Nov 13 Javascript
Vue 中获取当前时间并实时刷新的实现代码
May 12 Javascript
JavaScript实现瀑布流布局的3种方式
Dec 27 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二维数组排序的函数分享
2014/01/17 PHP
Symfony2中被遗弃的getRequest()方法分析
2016/03/17 PHP
PHP+JQUERY操作JSON实例
2017/03/23 PHP
JavaScript语法着色引擎(demo及打包文件下载)
2007/06/13 Javascript
JQuery UI DatePicker中z-index默认为1的解决办法
2010/09/28 Javascript
修改jQuery Validation里默认的验证方法
2012/02/14 Javascript
JavaScript中的toLocaleDateString()方法使用简介
2015/06/12 Javascript
JavaScript直播评论发弹幕切图功能点集合效果代码
2016/06/26 Javascript
jQuery图片瀑布流的简单实现代码
2017/03/15 Javascript
jquery使用iscorll实现上拉、下拉加载刷新
2017/10/26 jQuery
js实现按钮开关单机下拉菜单效果
2018/11/22 Javascript
说说如何利用 Node.js 代理解决跨域问题
2019/04/22 Javascript
ES6数组与对象的解构赋值详解
2019/06/14 Javascript
layui的布局和表格的渲染以及动态生成表格的方法
2019/09/18 Javascript
react 生命周期实例分析
2020/05/18 Javascript
[02:14]2016国际邀请赛中国区预选赛Ehome晋级之路
2016/07/01 DOTA
asyncio 的 coroutine对象 与 Future对象使用指南
2016/09/11 Python
Python实现修改文件内容的方法分析
2018/03/25 Python
Python3.7实现中控考勤机自动连接
2018/08/28 Python
python监测当前联网状态并连接的实例
2018/12/18 Python
利用python开发app实战的方法
2019/07/09 Python
Python子进程subpocess原理及用法解析
2020/07/16 Python
HTML5中Localstorage的使用教程
2015/07/09 HTML / CSS
Staples美国官方网站:办公用品一站式采购
2016/07/28 全球购物
Ryderwear美国官网:澳大利亚高端健身训练装备品牌
2018/04/24 全球购物
2014年英语教师工作总结
2014/12/03 职场文书
感谢信范文大全
2015/01/23 职场文书
旷课检讨书范文
2015/01/27 职场文书
泰山导游词
2015/02/02 职场文书
爱牙日宣传活动总结
2015/02/05 职场文书
内勤岗位职责范本
2015/04/13 职场文书
幼儿园重阳节活动总结
2015/05/05 职场文书
spring cloud 配置中心客户端启动遇到的问题
2021/09/25 Java/Android
关于pytest结合csv模块实现csv格式的数据驱动问题
2022/05/30 Python
Win10加载疑难解答时出错发生意外错误的解决方法
2022/07/07 数码科技
在windows server 2012 r2中安装mysql的详细步骤
2022/07/23 Servers