javascript 高级程序设计 第九章

客户端检测

9.1 能力检测

    能力检测:  能力检测针对不同浏览器或者浏览器版本不同所进行的检测。不同的浏览器里可能存在或者不存某个特定的方法,比如IE早版本下就不存在 document.getElementById() 方法,取而代之的是其存在的document.all方法。注意:能力检测不是浏览器检测

可以使用 if( a ){

//如果 a 方法存在 就使用 a 方法。

a();

}else{

//如果a方法不存在 就需要在这写浏览器所实现的方法

}

    进一步的能力检测:有可能浏览器厂商实现了 某一方法, 但是该方法与平时所用或者我们认为的方法功能不一样,所以需要进行进一步的能力检测。可以使用

if( type of a == 'function'){

//针对不同浏览器所实现的方法

}

9.2 怪癖检测

怪癖一般指的是浏览器实现的方法有些奇怪的地方。一般会认为这个是bug。我觉得这个可以在调试代码时出现不可理解的事情的时候,去查阅一下就可以找到解决方法。

9.3 用户代理检测

这个指的是对用户的浏览器进行检测,只不过在浏览器的发展历史中,通过js内置方法获取到的当前浏览器的信息。但是可能会存在“电子欺诈"。也就是说,可能会在厂商会在浏览器的代理信息中添加其他的信息,我们获得的信息可能就会因此而不正确。

在实际的检测中,用户代理检测的争议非常大。推荐使用能力检测更为稳妥。





以上只是我对第九章的一些浅显的理解,需要知道更多可以翻阅第九章内容。:)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,477评论 19 139
  • 一年前给自己定的目标是每天写一篇文章,每天一大早起来的第一件事情就是写,不管时间,不管内容,不管字数,这样的写作竟...
    蜗牛小怪物阅读 4,544评论 2 0
  • 刚好这个月,银行给我的免费送短信服务停了。昨天,去发廊洗个头,镜子里的自己气色太糟糕了,想做个面部清洁美容。服务员...
    叶末也来了阅读 2,695评论 2 4
  • 01 一切的开始就在放假回来上班的第一天。那天,我偷偷地在QQ上跟HR说:“告诉你个消息,请别做出过分惊讶的表情,...
    刘教练阅读 13,356评论 30 34