首页 > 代码库 > 电脑浏览器和手机浏览器

电脑浏览器和手机浏览器

<script type="text/javascript">

<!--
//平台、设备和操作系统
var system ={
win : false,
mac : false,
xll : false
};
//检测平台
var p = navigator.platform;
//alert(p);
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){//转向后台登陆页面
document.write(‘‘);
}else{
document.write(‘‘);
}
-->
</script>

<!--
if(navigator.userAgent.indexOf(‘UCBrowser‘) > -1) {
alert(123);

}-->
 
// -------
 

在很多浏览器使用统一功能上,由于不同浏览器的核心不同,实现的方式也会有所不同。所以,有时我们需要检测浏览器。

 

一.问题所在

在基础课堂中,我们采用了两种方案,一种是直接提供的,一种是分析的。这两种方案都比较繁琐,但比较细腻,而在实际上的使用上,则不需要。

 

二.设置代码

//浏览器检测

(function () {

window.sys = {};

var ua = navigator.userAgent.toLowerCase();

var s;

 

if ((/msie ([\d.]+)/).test(ua)) { //判断IE浏览器

s = ua.match(/msie ([\d.]+)/);

sys.ie = s[1];

}

 

if ((/firefox\/([\d.]+)/).test(ua)) { //判断火狐浏览器

s = ua.match(/firefox\/([\d.]+)/);

sys.firefox = s[1];

}

 

if ((/chrome\/([\d.]+)/).test(ua)) { //判断谷歌浏览器

s = ua.match(/chrome\/([\d.]+)/);

sys.chrome = s[1];

}

 

if ((/opera.*version\/([\d.]+)/).test(ua)) { //判断opera浏览器

s = ua.match(/opera.*version\/([\d.]+)/);

sys.opera = s[1];

}

 

if ((/version\/([\d.]+).*safari/).test(ua)) { //判断safari浏览器

s = ua.match(/version\/([\d.]+).*safari/);

sys.safari = s[1];

}

 

alert(sys.ie);

 

})();

 

PS:以上的写法包含了大量的重复代码,我们进行一下压缩。

 

//浏览器检测

(function (){

window.sys = {};   

var ua = navigator.userAgent.toLowerCase();   

var s;   

(s = ua.match(/msie ([\d.]+)/)) ? sys.ie = s[1] :   

(s = ua.match(/firefox\/([\d.]+)/)) ? sys.firefox = s[1] :   

(s = ua.match(/chrome\/([\d.]+)/)) ? sys.chrome = s[1] :   

(s = ua.match(/opera.*version\/([\d.]+)/)) ? sys.opera = s[1] :   

(s = ua.match(/version\/([\d.]+).*safari/)) ? sys.safari = s[1] : 0;  

})();  

电脑浏览器和手机浏览器