JavaScript客户端检测——能力检测

能力检测的目标不是识别特定的浏览器,而是识别浏览器的能力。
能力检测的基本模式

        if (object.propertyInQuestion) {
            //使用object.propertyInQuestion
        }
        function getElement(id) {
            if (document.getElementById) {
                return document.getElementById(id);
            }else if(document.all){
                return document.all[id];
            }else{
                throw new Error("No way to retrieve element!");
            }

先检测达成目的的最常用的特性。必需测试实际要用到的特性。

1.更可靠的能力检测
使用typeof操作符进行能力检测。

        function isHostMethod(object, property) {
            var t = typeof object[property];
            return t=='function' || (!!(t=='object' && object[property])) || t=='unkonw';
        }

2.能力检测,不是浏览器检测
检测某个或几个特性并不能够确定浏览器,实际上,根据浏览器的不同将能力组合起来是更可取的方式。

推荐阅读更多精彩内容

  • 客户端检测是JavaScript开发中最具争议的一个话题。由于浏览器间存在差别,通常需要根据不同浏览器的能力分别编...
    shanruopeng阅读 167评论 2 1
  • 本章内容 使用能力检测 用户代理检测的历史 选择检测方式 9.1 能力检测 能力检测的基本模式如下: 举例子,IE...
    闷油瓶小张阅读 84评论 0 1
  • Chapter 9 客户端检测 能力检测 用于识别浏览器的能力,基本模式如下if (object.property...
    云之外阅读 140评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 105,085评论 12 126
  • 人是活的,话是死的。 人不是按照话去活, 而是话随着人去变。 我们忙了一辈子,其实说到底, 不是忙着生,便是忙着死...
    唯美感情学阅读 55评论 0 0