用js识别是否360浏览器

360浏览器说实话比较恶,以前可以通过内核返回的字符串判定是否包含"360"字样的方法来判定

如以下代码

     window.navigator.userAgent.indexOf('360')!=-1

但360浏览器某次更新后,内核显示的字符串已经和IE浏览器是一样的了,导致无法判断是IE还是360。但有人又说了,既然是一样IE的内核,不需要单独判定是不是360的,我说这些人站着说话不腰疼,不知道他们有没有编写过一些代码,发现在IE和360浏览器的表现行为是不一样的。因此,这个判断还是有必要的,后面大家都出了一些偏门的方法,比如 写js去加载这个图片'res://360se.exe/2/2025',我不知道如果加载不了这个图片,是不是一直会挂在那里,我是懒得去试这种方法。

下面我看了下 window.navigator的成员集合,想想应该这么多成员集合,360不会都实现了吧?结果最后终于发现了一些区别,下面给出我的判断代码。

 

 

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html>
  <head>
    <base >
    
    <title></title>
  
	<script>
		function bro(){
			var is360 = false;
			var isIE = false;
			if (window.navigator.appName.indexOf("Microsoft") != -1){
				isIE= true;
			}
			if(isIE&&(window.navigator.userProfile+'')=='null'){
				is360 = true;
			}
			if(is360){
				document.body.innerText = '360浏览器';
			}else if(isIE){
				document.body.innerText = 'IE浏览器';
			}
		}
	</script>
  </head>
  
  <body οnlοad="bro();">
   
  </body>
</html>
		


注意不要忘了这句话,不然你的执行结果是不会对的。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

以上方法我已经在项目中使用了,效果还行。

 





PS:以上是好久以前写的,现在已经没用了,现在360浏览器6.3版本,是跟Chrome浏览器内核一样了,不是和之前的IE内核,360真是变来变去,以下是现在修改的代码(2014年5月30日写)


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   
  
<html>  
  <head>  
    <base >  
      
    <title></title>  
    
    <script>  
        function bro(){  
            var is360 = false;  
            var isIE = false;  
			var isFirefox = false;
			var isCrome = false;
			var broName = '';
			if(window.navigator.userAgent.indexOf('MSIE')!=-1&&window.navigator.appName.indexOf("Microsoft") != -1){
				isIE = true;
				broName = 'IE';
			}
			if(window.navigator.userAgent.indexOf('Firefox')!=-1){
				isFirefox = true;
				broName = 'Firefox';
			}
			if(window.navigator.userAgent.indexOf('Chrome')!=-1){
				if(window.navigator.webkitPersistentStorage){
					isCrome = true;
					broName = 'Chrome';
				}else{
					is360 = true;
					broName = '360';
				}
			}

			document.getElementById('broType').value=broName;

        }  
    </script>  
  </head>  
    
  <body οnlοad="bro();">  
     <input type="text" id="broType" name="broType">
  </body>  
</html>  

现在请用最新的方法来判定。


评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值