zoukankan      html  css  js  c++  java
  • 实现客户端类型检测

    客户端检测是JavaScript开发中颇具争议的一个话题。由于浏览器版本众多,且之间存在差别,通过需要根据不同浏览器的能力分别编写不同的代码,目前常用的方法有三种:

    (1)能力检测:在编写代码之前先检测特定浏览器的能力。如,在调用某个函数之前,需要先检测该函数是否存在,这种方法使得开发人员能够把注意力集中在相应的能力是否存在上,而不用去考虑具体的浏览器类型和版本,但同时这也其缺点之一,就是无法精确的检测特定的浏览器类型和版本。

    (2)怪癖检测:实际上是检测浏览器中存在的bug。不同的浏览器存在不同的怪癖(bug),因此通过一段检测bug的代码可以确定浏览器是否存在该bug,但同样该方法无法精确的检测特定的浏览器类型和版本。

    (3)用户代理检测:通过检测用户代理字符串来识别浏览器。用户代理字符串中包含了大量浏览器相关信息,如浏览器类型、平台、操作系统、版本号等,该方法在一定程度上是可以精确的检测出特定的浏览器类型和版本,但是有些浏览器提供商会在用户代理字符串中添加一些欺骗性信息来隐瞒开发者,因此该方法也存在问题。

    在决定使用客户端检测方法时,一般应优先考虑使用能力检测,而用户代理检测则是客户端检测的最后一种方案,因为该方法对用户代理字符串有很强的依赖性。

    效果展示

    本文参考《JavaScript高级程序设计第2版》

  • 相关阅读:
    tabsGif
    this.$refs.tabs.activeKey ref就是vue里面的id
    @click.native 会触发原生 click事件 vue
    Web Server Notifier 是chrome网上商店的一个插件
    autoOpenBrowser: true, 运行npm后自动打开浏览器
    总结vue2.0 配置的实例方法
    chrome 打开上次关闭的tab ctrl+shift+T
    动态菜单路由
    gitee 如何创建仓库 及发布
    小白接口
  • 原文地址:https://www.cnblogs.com/twobin/p/3362860.html
Copyright © 2011-2022 走看看