360极速浏览器UA怪异以及如何用js判断360浏览器

本文最后一次更新于7个月前,文章内容可能略有出入。若发现文章中有错误之处,可以留言评论告诉作者。

1、360极速浏览器UA因域名不同而异

今天在写一个判断浏览器、浏览器版本、操作系统、操作系统版本、浏览器外壳的js,去http://hao.360.cn/sethomepage.html网站看看他们的js是如何写的,始终不知道他们是如何通过js来判断浏览器是360极速的,这不看不知道,一看吓一跳。

http://hao.360.cn/sethomepage.html这个网址访问的时候,获得浏览器的UA是:

  1. "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17 QIHU 360EE"

而在其他域名下面获得浏览的UA是:

  1. "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17"

两个UA非常的相似,但又有点不同,很明显的是第一段在360域名上获得的浏览器UA最后添加了“QIHU 360EE”字符,这是奇虎360极速浏览器的识别码。360极速浏览器用心良苦的通过域名来修改UA,这是何等居心啊?!

顺便说下hao123和hao.360判断浏览器的类型的脚本几乎一模一样,真不知道谁抄了谁。

2、如何用js判断360浏览器

根据上述情况,如果依据浏览器的ua是无法正常判断是否为360浏览器的,那么就需要用特殊的方法来判断,主要如下:

2.1、js判断360极速浏览器

https://github.com/cloudcome/alien/blob/master/src/core/navigator/shell.js#L68

因360浏览器经常性更新浏览器,请访问/post/jquery-plugin-4-jquery-ua-parse-ie-chrome-firefox-360.html以阅读如何使用jquery.ua插件来判断360浏览器,或者直接浏览测试页面:http://festatic.aliapp.com/js/jquery.ua/#chrome

2.2、js判断360安全浏览器

https://github.com/cloudcome/alien/blob/master/src/core/navigator/shell.js#L58

因360浏览器经常性更新浏览器,请访问/post/jquery-plugin-4-jquery-ua-parse-ie-chrome-firefox-360.html以阅读如何使用jquery.ua插件来判断360浏览器,或者直接浏览测试页面:http://festatic.aliapp.com/js/jquery.ua/#chrome

【完】

时间: 2024-08-02 08:44:31

360极速浏览器UA怪异以及如何用js判断360浏览器的相关文章

如何用js判断不同浏览器

在我们做html5前端工程师的工作中,往往遇到最多问题的就是各个浏览器的兼容性问题,当我们针对不同浏览器进行不同操作时,我们该怎么做呢?现在可以由以下代码方能实现: <script type="text/javascript"> function getExplorer() { var explorer = window.navigator.userAgent ;//获取浏览器: //ie if (explorer.indexOf("MSIE") >

如何用js判断一个对象是不是Array

.如何用js判断一个对象是不是Array 1.Array.isArray(obj) 调用数组的isArray方法 2.obj instanceof Array 判断对象是否是Array的实例 3.Object.prototype.toString.call(obj) ==='[object Array]' Object.prototype.toString方法会取得对象的一个内部属性[[Class]],然后依据这个属性,返回一个类似于[object Array]的字符串作为结果,call用来改变

【javascript】js 判断微信浏览器

上周接到个需求,需求是这样的:用户扫一扫二维码会产生一个链接,该链接会向后端发送个请求,返回一个 apk 的下载地址,用户点击下载按钮可以下载此 apk.然后就发生了问题,经过测试,发现用微信扫一扫打开的页面点击下载按钮下载不了 apk,后百度之,原来是微信内置浏览器屏蔽了下载链接,后面和需求方沟通,需求改为如果用户是用微信内置浏览器打开的,则提示用户换一个浏览器打开页面,否则下载不了 apk.那么该如何判断用户是否是用微信浏览器呢? 我们知道 js 可以通过 window.navigator.

js判断手机浏览器

最新浏览器识别合并. demo:http://v.qq.com    ->   http://v.qq.com/h5 http://v.qq.com/    ->   http://v.qq.com/h5 http://v.qq.com/h5    ->   http://v.qq.com/h5 <script type="text/javascript"> (function(W){ if(!/\/h5/.test(W.location.pathname

笔记:1.css样式,最前边加 @charset &quot;utf-8&quot;;是为什么2.js判断各种浏览器的方法

表明CSS文件的页面编码为UTF-8..如果这个CSS的文件编码也是UTF-8的话..那么在浏览器中看到的CSS文件的页面中中文的注释或者中文字体就可以正确显示为中文,如果CSS的文件编码和页面不一致的话.那么这个CSS文件的中文则会显示为乱码.特别是定义中文字体的时候.就不能正确识别.其他则没有多大影响. GB2312编码适用于汉字处理.汉字通信等系统之间的信息交换,通行于中国大陆:新加坡等地也采用此编码.中国大陆几乎所有的中文系统和国际化的软件都支持GB 2312.var Browser_N

js 判断微信浏览器(转)

最近做很多HTML5的项目,很多页面会通过微信微博等SNS分享出去.在分享页面上提供公司APP的下载.但是在很多应用的浏览器中,点击下载链接无法下载应用.那么针对这些浏览器我们需要给用户提示从safari或者系统自带的浏览器打开分享页面.通过js就可以判断当前页面是在什么浏览器打开的. 以下是一段示例代码,注释中表明了通过JS如何判断是否在微信浏览器打开,是否在QQ空间浏览器,是否在新浪微博打开.当然可以做得更完善一点,再加上判断是在移动设备打开还是在PC端浏览器打开的,更加细分一点,可以判断是

js判断手机浏览器操作系统和微信浏览器的方法

做手机端的前端开发,少不了对手机平台的判断.如,对于app下载,就要判断在Android平台下就显示Android下载提示:在iOS平台下就显示iOS下载提示. 今天就为大家介绍一下用js判断手机客户端平台及系统平台的方法: <script type="text/javascript"> //手机端判断各个平台浏览器及操作系统平台 function checkPlatform(){ if(/android/i.test(navigator.userAgent)){ docu

js判断当前浏览器是pc端还是移动端

根据用户的访问设备的不同来显示不同的页面样式,主要是判断移动设备还是电脑浏览器访问的. 下面给出js判断处理代码,以作参考. 1 <script type="text/javascript"> 2 function browserRedirect() { 3 var sUserAgent = navigator.userAgent.toLowerCase(); 4 var bIsIpad = sUserAgent.match(/ipad/i) == "ipad&q

js判断手机浏览器是横屏or竖屏

移动端的浏览器一般都支持window.orientation这个参数,通过这个参数可以判断出手机是处在横屏还是竖屏状态. 从而根据实际需求而执行相应的程序.通过添加监听事件onorientationchange,进行执行就可以了. //判断手机横竖屏状态: function hengshuping(){ if(window.orientation==180||window.orientation==0){ alert("竖屏状态!") } if(window.orientation==