判断UA这种事不能说的太明。
【微博】 Mozilla/5.0 (Linux; U; Android 4.2.2; zh-cn; GT-I9502 Build/JDQ39) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30
【chrome】 Mozilla/5.0 (Linux; Android 4.2.2; GT-I9502 Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.64 Mobile Safari/537.36
【猎豹】 Mozilla/5.0 (Linux; Android 4.2.2; GT-I9502 Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.64 Mobile Safari/537.36
【海豚】 Mozilla/5.0 (Linux; U; Android 4.2.2; zh-cn; GT-I9502 Build/JDQ39) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30
【UC】 Mozilla/5.0 (Linux; U; Android 4.2.2; zh-CN; GT-I9502 Build/JDQ39) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 UCBrowser/9.4.2.365 U3/0.8.0 Mobile Safari/533.1
【baidu】 Mozilla/5.0 (Linux; U; Android 4.2.2; zh-cn; GT-I9502 Build/JDQ39) AppleWebKit/534.24 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.24 T5/2.0 baidubrowser/4.2.13.3 (Baidu; P1 4.2.2)
【QQ】 MQQBrowser
【搜狗】 SogouMSE, SogouMobileBrowser
【小米】 XiaoMi/MiuiBrowser
【遨游】 Maxthon
【欧朋】 Opera, Oupeng
--------------------------------------
/* function check_useragent(){ var bool_result='success'; var pattern=/micromessenger|360browser|360|MQBrowser\/(.*?)\s+\(iPhone;|Mozilla\/(.*?)\s+\(iPhone;|sina_weibo/i; var useragent='<?php echo strtoupper($_SERVER['HTTP_USER_AGENT']);?>'; var referer = '<?php echo strtoupper($_SERVER['HTTP_REFERER'])?>'; if(useragent.indexOf(('360ee').toUpperCase()) != -1 || useragent.indexOf(('360se').toUpperCase()) != -1) { // location.href= "http://pc.huochepiao.360.cn"; return; } if(!useragent.match(pattern)){ bool_result=useragent.indexOf(('Android').toUpperCase())==-1?'failed_pc':'failed_mb'; } return bool_result; } <?php if(@$_SERVER['SERVER_NAME']!='10.16.15.227'&&@$_SERVER['SERVER_NAME']!='12306.com'){?> var sta=check_useragent(); if(sta=='failed_pc'){ if(navigator.userAgent.indexOf('iPhone')>-1){ location.href='error.html?pc'; }else{ location.href='errorpc.html'; } } else if(sta=='failed_mb'){ if(referer.indexOf('weibo.cn') > -1) { if(navigator.userAgent.indexOf('MQQBrowser')>-1 || navigator.userAgent.indexOf('SogouMSE')>-1 || navigator.userAgent.indexOf('SogouMobileBrowser')>-1 || navigator.userAgent.indexOf('XiaoMi')>-1 || navigator.userAgent.indexOf('MiuiBrowser')>-1 || navigator.userAgent.indexOf('Maxthon')>-1 || navigator.userAgent.indexOf('Opera')>-1 || navigator.userAgent.indexOf('Oupeng')>-1 || navigator.userAgent.indexOf('UCBrowser')>-1){ location.href='error.html?mb'; } } else { location.href='error.html?mb'; } } <?php }?> */
判断UA这种事不能说的太明。的更多相关文章
- JavaScript 类型判断的那些事
先准备几个变量 var a = "abcde."; var b = 222; var c= [1,2,3]; // 或者 new Array() var d = new Date( ...
- 读写属性/if判断那点事/数组
读写属性属性操作注意事项 js中不允许出现"-".所以font-size变成fontSize/margin-top变成marginTop. Op.style.with=" ...
- Delphi的RTTI还分为对类和对象的判断,以及对普通属性的判断——相比之下,C++的RTTI实在太弱!
堂堂C++沦落到这个地步,也实在是够可怜的.
- js通过ua标识判断h5页面是否内嵌在app内
var userAgent = navigator.userAgent.toLowerCase();//获取UA信息 if(userAgent.indexOf("ezhouxing" ...
- JavaScript判断移动端及pc端访问不同的网站
JavaScript判断移动端及pc端访问不同的网站 现在很多网站都是分为两个版本,一个pc端的一个移动端的(响应式除外),针对这两个版本,就需要对访问的设备进行判断,如果是pc,就直接访问pc网站, ...
- 几种判断asp.net中session过期方法的比较
方法一:最麻烦也是最容易想到的方法,在每个页面的page_load()方法里面判断: protected void Page_Load(object sender, EventArgs e) { if ...
- 前端判断用户请求是PC还是移动端
链接:https://www.zhihu.com/question/20004700/answer/13678113 第一步先在服务器端使用User Agent判断,先匹配出移动设备,这一步可以统计U ...
- 根据浏览器UA信息进行跳转(移动和pc)
如何用php判断一个客户端是手机还是电脑?其实很简单,开发人员都知道,通过浏览器访问网站时,浏览器都会向服务器发送UA,即User Agent(用户代理).不同浏览器.同一浏览器的不同版本.手机浏览器 ...
- php判断浏览器是不是IE
1.$_SERVER['HTTP_USER_AGENT']和strpos 2.打印结果 谷歌: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Appl ...
随机推荐
- linux_shell_类似sql的orderby 取最大值
{} {} {} {} {} {} {} {} {} {} 需求场景 ,通过shell 筛选 每分钟的最大一条输出(最后一条) : .info | head
- 通俗易懂的语言描述JavaScript原型
这是一个翻译.原文地址http://javascriptissexy.com/javascript-prototype-in-plain-detailed-language/# 原型(prototyp ...
- .net的自定义JS控件,运用了 面向对象的思想 封装 了 控件(.net自定义控件开发的第一天)
大家好!我叫刘晶,很高兴你能看到我分享的文章!希望能对你有帮助! 首先我们来看下几个例子 ,就能看到 如何 自定义控件! 业务需求: 制作 一个 属于 自己的 按钮 对象 ,然后 像 ...
- json.net 比jsonIgnore 更好的方法 修改源码
关于 JsonIgnore 问题, EF T4 模板 中 存在主外键关系 namespace WindowsFormsApplication1{ using System; using ...
- SQL Server调优系列基础篇(常用运算符总结)
原文:SQL Server调优系列基础篇(常用运算符总结) 前言 上一篇我们介绍了如何查看查询计划,本篇将介绍在我们查看的查询计划时的分析技巧,以及几种我们常用的运算符优化技巧,同样侧重基础知识的掌握 ...
- dozer-初识
1.简介 dozer是一种JavaBean的映射工具,类似于apache的BeanUtils.但是dozer更强大,它可以灵活的处理复杂类型之间的映射.不 但可以进行简单的属性映射.复杂的类型 ...
- UIAutomator定位Android控件的方法实践和建议(Appium姊妹篇)
在本人之前的一篇文章<<Appium基于安卓的各种FindElement的控件定位方法实践和建议>>第二章节谈到Appium可以通过使用UIAutomator的方法去定位And ...
- 设计模式---订阅发布模式(Subscribe/Publish)
设计模式---订阅发布模式(Subscribe/Publish) 订阅发布模式定义了一种一对多的依赖关系,让多个订阅者对象同时监听某一个主题对象.这个主题对象在自身状态变化时,会通知所有订阅者对象,使 ...
- 打印Ibatis最后,SQL声明
做项目时,满足这一需求.我们希望最终打印出在数据库运行SQL声明,这些都普遍遇到了一些一般性问题.我会去Appfuse,结果这次没有成功.它是有相关的配置,可是好像没实用.我也就没有深查下去.我想这种 ...
- Hbuilder jQuery 自定义代码块
=begin 本文档是jquery代码块的编辑文件.修改其他的代码块,请在对应的激活代码助手点右下角的修改图标. HBuilder可使用ruby脚本来编辑代码块和增强操作命令. 1.编辑代码块 如果要 ...