用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 相关文章推荐
关于jQuery中.attr()和.prop()的问题探讨
Sep 06 Javascript
jQuery队列操作方法实例
Jun 11 Javascript
javascript面向对象快速入门实例
Jan 13 Javascript
JavaScript比较两个对象是否相等的方法
Feb 06 Javascript
JavaScript中利用Array和Object实现Map的方法
Jul 27 Javascript
举例讲解Node.js中的Writable对象
Jul 29 Javascript
jquery利用拖拽方式在图片上添加热链接
Nov 24 Javascript
整理Javascript数组学习笔记
Nov 29 Javascript
最常见和最有用的字符串相关的方法详解
Feb 06 Javascript
AngularJS改变元素显示状态
Apr 20 Javascript
如何使用VuePress搭建一个类型element ui文档
Feb 14 Javascript
Vue组件间通信方法总结(父子组件、兄弟组件及祖先后代组件间)
Apr 17 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 批量更新网页内容实现代码
2010/01/05 PHP
Linux下创建nginx脚本-start、stop、reload…
2014/08/03 PHP
PHP发送AT指令实例代码
2016/05/26 PHP
如何离线执行php任务
2017/02/21 PHP
ThinkPHP实现静态缓存和动态缓存示例代码
2017/05/02 PHP
php图像验证码生成代码
2017/06/08 PHP
在网页中使用document.write时遭遇的奇怪问题
2010/08/24 Javascript
在linux中使用包管理器安装node.js
2015/03/13 Javascript
javascript实现label标签跳出循环操作
2016/03/06 Javascript
原生JS实现导航下拉菜单效果
2020/11/25 Javascript
ES5学习教程之Array对象
2017/04/01 Javascript
用JS编写一个函数,返回数组中重复出现过的元素(实例)
2017/09/14 Javascript
webpack学习教程之前端性能优化总结
2017/12/05 Javascript
微信小程序调用摄像头隐藏式拍照功能
2018/08/22 Javascript
优雅的elementUI table单元格可编辑实现方法详解
2018/12/23 Javascript
详解JavaScript 新语法之Class 的私有属性与私有方法
2019/04/23 Javascript
JS实现分页导航效果
2020/02/19 Javascript
[03:40]DOTA2抗疫特别篇《英雄年代》
2020/02/28 DOTA
python计算最小优先级队列代码分享
2013/12/18 Python
零基础写python爬虫之爬虫的定义及URL构成
2014/11/04 Python
Python自动化运维和部署项目工具Fabric使用实例
2016/09/18 Python
Jupyter中直接显示Matplotlib的图形方法
2018/05/24 Python
用Python读取几十万行文本数据
2018/12/24 Python
python使用Plotly绘图工具绘制散点图、线形图
2019/04/02 Python
python实现五子棋游戏
2019/06/18 Python
基于selenium及python实现下拉选项定位select
2020/07/22 Python
python如何操作mysql
2020/08/17 Python
美国时尚配饰品牌:Dooney & Bourke
2017/11/14 全球购物
Hanky Panky官方网站:内衣和睡衣
2019/07/25 全球购物
世界上最大的艺术社区:SAA
2020/12/30 全球购物
关于建议书的格式范文
2014/05/20 职场文书
森林防火宣传标语
2014/06/27 职场文书
2014年社区党建工作汇报材料
2014/11/02 职场文书
前台接待员岗位职责
2015/04/15 职场文书
关于空气污染危害的感想
2015/08/11 职场文书
Python爬虫爬取全球疫情数据并存储到mysql数据库的步骤
2021/03/29 Python