JavaScript检测浏览器

发现自己做的一个网页的显示效果在IE中蛮好的,在FireFox中却惨不忍睹。

刚好手头有一本JavaScript的书,就总结了一下。

在客户端浏览器检测中最重要的对象是navigator对象。(尽管微软反对使用术语navigator,因为这指代了Netscape的浏览器,但 navigator对象还是成为提供Web浏览器信息事实上的标准。除了navigator对象外,微软还有一个叫做clientInformation 的对象,不过其实它们提供的信息是类似的。)

JavaScript检测浏览器的方式目前一般使用以下两种方式:对象/特征检测和use-agent字符串 检测。每种方式都有其优缺点,一定要合理的使用。

一、对象/特征检测法

该方法是一种判断浏览器能力(而非浏览器的确切型号)的通用方法。大部分JS专家认为这个方法最合适,因为他们认为按照该方法所编写的脚本是经得起未来考验的。

该方法认为,在使用一个给定的对象之前要先检查它的存在。例如,要使用方法document.getElementById(),但是不确定浏览器是否支持它。可以使用下面这段代码:

    if(document.getElementById) {
       //该方法存在,使用它
    } else {
       //该方法不存在,其他操作
    }

如果更关注浏览器的能力而不在乎它实际的身份,就可以使用这种方法。

二、user-agent字符串检测法

user-agent字符串检测法是最古老的检测方式。每个访问网站的程序都要提供一个user-agent字符串来向服务器确定它的身份。以前只能在服 务器上通过CGI变量HTTP_USER_AGENT来访问。不过,JS在navigator对象中引入了userAgent属性来提供客户端对user -agent字符串的访问。

    var sUserAgent = navigator.userAgent;

user-agent字符串提供了关于Web浏览器的大量信息,包括浏览器的名称和版本。

限于篇幅,我不能将详细的检测代码写到这里,也没有这个必要。大家可以找到对应于每种不同浏览器的user-agent字符串的值,按照自己的需要来检测浏览器。

一下子打这么多字,手好痛啊。。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值