用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实现判断当前网址的来路如果不是指定的来路就跳转到指定页面
May 02 Javascript
jquery自定义类似$.ajax()的方法实现代码
Aug 13 Javascript
js获取IP地址的方法小结
Jul 01 Javascript
AngularJs中Bootstrap3 datetimepicker使用实例
Dec 13 Javascript
ionic2 tabs使用 Modal底部tab弹出框
Dec 30 Javascript
JQuery异步提交表单与文件上传功能示例
Jan 12 Javascript
js实现随机抽选效果、随机抽选红色球效果
Jan 13 Javascript
基于hover的用法实例(推荐)
Jul 04 Javascript
Vue 2.0学习笔记之使用$refs访问Vue中的DOM
Dec 19 Javascript
layui的layedit富文本赋值方法
Sep 18 Javascript
JavaScript回调函数callback用法解析
Jan 14 Javascript
在vant中使用时间选择器和popup弹出层的操作
Nov 04 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 一元分词算法
2009/11/30 PHP
php下mysql数据库操作类(改自discuz)
2010/07/03 PHP
php单例模式实现(对象只被创建一次)
2012/12/05 PHP
PHP中Session引起的脚本阻塞问题解决办法
2014/04/08 PHP
php计算整个mysql数据库大小的方法
2015/06/19 PHP
php检查函数必传参数是否存在的实例详解
2017/08/28 PHP
Laravel中服务提供者和门面模式的入门介绍
2017/11/06 PHP
Mac下关于PHP环境和扩展的安装详解
2019/10/17 PHP
JavaScript的面向对象(一)
2006/11/09 Javascript
div+css+js实现无缝滚动类似marquee无缝滚动兼容firefox
2013/08/29 Javascript
常用的几段javascript代码分享
2014/03/25 Javascript
JavaScript变量的作用域全解析
2015/08/14 Javascript
jQuery实现的AJAX简单弹出层效果代码
2015/11/26 Javascript
Node.js重新刷新session过期时间的方法
2016/02/04 Javascript
微信小程序 form组件详解
2016/10/25 Javascript
完美解决IE不支持Data.parse()的问题
2016/11/24 Javascript
深入理解Angularjs中$http.post与$.post
2017/05/19 Javascript
判断jQuery是否加载完成,没完成继续判断的解决方法
2017/12/06 jQuery
小程序实现左右来回滚动字幕效果
2018/12/28 Javascript
微信小程序实现日期格式化和倒计时
2020/11/01 Javascript
[58:09]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第三场 6.2
2018/06/03 DOTA
python类型强制转换long to int的代码
2013/02/10 Python
Python中import导入上一级目录模块及循环import问题的解决
2016/06/04 Python
python if not in 多条件判断代码
2016/09/21 Python
使用Django Form解决表单数据无法动态刷新的两种方法
2017/07/14 Python
Python xlwt设置excel单元格字体及格式
2020/04/18 Python
APIStar:一个专为Python3设计的API框架
2018/09/26 Python
彻彻底底地理解Python中的编码问题
2018/10/15 Python
python3+selenium实现qq邮箱登陆并发送邮件功能
2019/01/23 Python
Django CBV类的用法详解
2019/07/26 Python
python如何通过pyqt5实现进度条
2020/01/20 Python
在python tkinter界面中添加按钮的实例
2020/03/04 Python
Django:使用filter的pk进行多值查询操作
2020/07/15 Python
电气工程自动化求职信
2014/03/14 职场文书
公司委托书格式范文
2014/10/09 职场文书
幼儿园园长六一致辞
2015/07/31 职场文书