用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字典探测用户名工具
Oct 05 Javascript
效率高的Javscript字符串替换函数的benchmark
Aug 02 Javascript
js下写一个事件队列操作函数
Jul 19 Javascript
查找iframe里元素的方法可传参
Sep 11 Javascript
网页禁用右键菜单和鼠标拖动选择方法小结
Feb 25 Javascript
最简单的JavaScript验证整数、小数、实数、有效位小数正则表达式
Apr 17 Javascript
JS产生随机数的几个用法详解
Jun 22 Javascript
BootStrap中的Fontawesome 图标
May 25 Javascript
详解Angular 自定义结构指令
Jun 21 Javascript
JS中用EL表达式获取上下文参数值的方法
Mar 28 Javascript
微信小程序 行的删除和增加操作实现详解
Sep 29 Javascript
Vue全局使用less样式,组件使用全局样式文件中定义的变量操作
Oct 21 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
深入apache配置文件httpd.conf的部分参数说明
2013/06/28 PHP
Zend Framework框架Smarty扩展实现方法
2016/03/22 PHP
[原创]PHP实现SQL语句格式化功能的方法
2017/07/28 PHP
php设计模式之备忘模式分析【星际争霸游戏案例】
2020/03/24 PHP
RR vs IO BO3 第一场2.13
2021/03/10 DOTA
修改jquery里的dialog对话框插件为框架页(iframe) 的方法
2010/09/14 Javascript
使用jQuery清空file文件域的解决方案
2013/04/12 Javascript
jquery判断小数点两位和自动删除小数两位后的数字
2014/03/19 Javascript
JavaScript中的prototype和constructor简明总结
2014/04/05 Javascript
使用jQuery判断Div是否在可视区域的方法 判断div是否可见
2016/02/17 Javascript
JavaScript实现url参数转成json形式
2016/09/25 Javascript
jQuery选择器实例应用
2017/01/05 Javascript
nodejs中实现修改用户路由功能
2019/05/24 NodeJs
微信sdk实现禁止微信分享(使用原生php实现)
2019/11/15 Javascript
JavaScript如何判断对象有某属性
2020/07/03 Javascript
VSCode 配置uni-app的方法
2020/07/11 Javascript
[02:20]DOTA2亚洲邀请赛 IG战队出场宣传片
2015/02/07 DOTA
浅析Python中的getattr(),setattr(),delattr(),hasattr()
2016/06/14 Python
python自定义异常实例详解
2017/07/11 Python
Python中的默认参数实例分析
2018/01/29 Python
django 通过ajax完成邮箱用户注册、激活账号的方法
2018/04/17 Python
PyQt5笔记之弹出窗口大全
2019/06/20 Python
Python flask框架post接口调用示例
2019/07/03 Python
postman传递当前时间戳实例详解
2019/09/14 Python
python3.8.1+selenium实现登录滑块验证功能
2020/05/22 Python
CSS3中box-shadow的用法介绍
2015/07/15 HTML / CSS
Html5无刷新修改browser Url的方法
2014/01/15 HTML / CSS
Myprotein加拿大官网:欧洲第一的运动营养品牌
2018/01/06 全球购物
编写一子程序,将一链表倒序,即使链表表尾变表头,表头变表尾
2016/02/10 面试题
幼师自我鉴定范文
2013/10/01 职场文书
总会计师岗位职责
2014/02/19 职场文书
高校教师岗位职责
2014/03/18 职场文书
个人委托书范本汇总
2014/10/01 职场文书
公司租房协议书范本
2014/10/08 职场文书
大学生暑期社会实践证明范本
2014/10/24 职场文书
python 爬取哔哩哔哩up主信息和投稿视频
2021/06/07 Python