用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活用事件触发对象动作
Aug 10 Javascript
一个JS小玩意 几个属性相加不能超过一个特定值.
Sep 29 Javascript
javascript encodeURI和encodeURIComponent的比较
Apr 03 Javascript
JavaScript 设计模式之组合模式解析
Apr 09 Javascript
js获取鼠标点击的位置实现思路及代码
May 09 Javascript
JavaScript包装对象使用详解
Jul 09 Javascript
jQuery获取table行数并输出单元格内容的实现方法
Jun 30 Javascript
浅谈Javascript数据属性与访问器属性
Jul 26 Javascript
jQuery中的$是什么意思及 $. 和 $().的区别
Apr 20 jQuery
详解React之父子组件传递和其它一些要点
Jun 25 Javascript
JavaScript数组方法的错误使用例子
Sep 13 Javascript
微信小程序onLaunch异步,首页onLoad先执行?
Sep 20 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中限制IP段访问、禁止IP提交表单的代码
2011/04/23 PHP
YII Framework框架教程之安全方案详解
2016/03/14 PHP
PHP的Laravel框架中使用AdminLTE模板来编写网站后台界面
2016/03/21 PHP
php获取网站根目录物理路径的几种方法(推荐)
2017/03/04 PHP
PHP给源代码加密的几种方法汇总(推荐)
2018/02/06 PHP
WordPress 插件——CoolCode使用方法与下载
2007/07/02 Javascript
javascript 节点遍历函数
2010/03/28 Javascript
JQuery在光标位置插入内容的实现代码
2010/06/18 Javascript
基于jquery的3d效果实现代码
2011/03/23 Javascript
JQuery解析HTML、JSON和XML实例详解
2014/03/29 Javascript
js钢琴按钮波浪式图片排列效果代码分享
2015/08/26 Javascript
基于jQuery实现的向下滑动二级菜单效果代码
2015/08/31 Javascript
JS实现网站菜单拖拽移位效果的方法
2015/09/24 Javascript
jQuery实现加入收藏夹功能(主流浏览器兼职)
2016/12/24 Javascript
JS日程管理插件FullCalendar中文说明文档
2017/02/06 Javascript
JavaScript中附件预览功能实现详解(推荐)
2017/08/15 Javascript
H5实现仿flash效果的实现代码
2017/09/29 Javascript
[01:00]一分钟回顾2018DOTA2亚洲邀请赛现场活动
2018/04/07 DOTA
python 调用win32pai 操作cmd的方法
2017/05/28 Python
Python元组常见操作示例
2019/02/19 Python
python实现QQ空间自动点赞功能
2019/04/09 Python
Python 根据日志级别打印不同颜色的日志的方法示例
2019/08/08 Python
Python通过两个dataframe用for循环求笛卡尔积
2020/04/29 Python
详解python程序中的多任务
2020/09/16 Python
皇家道尔顿官网:Royal Doulton
2017/12/06 全球购物
阿联酋航空假期:Emirates Holidays
2018/03/20 全球购物
通信工程专业女生个人求职信
2013/09/21 职场文书
兼职业务员岗位职责
2014/01/01 职场文书
校本教研工作制度
2014/01/22 职场文书
周年庆典邀请函范文
2014/01/23 职场文书
2014年大学班长工作总结
2014/11/14 职场文书
小学班主任自我评价
2015/03/11 职场文书
结婚通知短信大全
2015/04/17 职场文书
原生Javascript+HTML5一步步实现拖拽排序
2021/06/12 Javascript
flex弹性布局详解
2022/03/20 HTML / CSS
Python 全局空间和局部空间
2022/04/06 Python