美文网首页
客户端检测的含义和方法

客户端检测的含义和方法

作者: 前端路上的小兵 | 来源:发表于2018-07-03 00:07 被阅读0次
大纲

1、什么是客户端检测
2、客户端检测的分类
3、能力检测
4、怪癖检测
5、用户代理检测
6、客户端检测方法的选择

1、什么是客户端检测

所谓客户端检测就是为了实现某种功能,但是不同的客户端对实现该功能的实现方式是不同的,因此需要通过对不同客户端的检测我们才能够针对不同的客户端采用不同的方式来实现相同的效果。
客户端检测是JavaScript开发中最具争议的一个话题。由于浏览器间存在差别,通常需要根据不同浏览器的能力分别编写不同的代码。
不同的客户端表示不同的性能,不同的处理方式,不同的客户端包括不同的平台、不同的浏览器(不同的浏览器采用不同的呈现内核、JavaScript解析内核等)

2、客户端检测的分类

客户端检测分为:能力检测、怪癖检测、用户代理检测

3、能力检测

在编写代码之前先检测特定浏览器的能力。例如,脚本在调用某个函数之前,可能要先检测该函数是否存在。这种检测方法将开发人员从考虑具体浏览器类型和版本中解放出来,让他们把注意力集中到相应的能力是否存在上。能力检测无法精确地检测特定的浏览器和版本。

4、怪癖检测

怪癖实际上是浏览器实现中存在的bug,例如早期的WebKit中就存在一个怪癖,即它会在for-in循环中返回被隐藏的属性。怪癖检测通常涉及到运行一小段代码,然后确定浏览器是否存在某个怪癖。由于怪癖检测与能力检测相比效率更低,因此应该只在某个怪癖会干扰脚本运行的情况下使用。怪癖检测无法精确的检测特定的浏览器和版本。

5、用户代理检测

通过检测用户代理字符串来识别浏览器。用户代理字符串中包含大量与浏览器有关的信息,包括浏览器、平台、操作系统及浏览器版本。用户代理字符串有过一段相当漫长的发展历史,在此期间,浏览器提供商试图通过在用户代理字符串中添加一些欺骗性信息,欺骗网站相信自己的浏览器是另外一种浏览器。用户代理检测需要特殊的技巧,特别是要注意Opera会隐藏其用户代理字符串的情况。即便如此,通过用户代理字符串仍然能够检测出浏览器所使用的呈现引擎以及所在的平台,包括移动设备和游戏系统。

6、客户端检测方法的选择

在决定使用哪种客户端检测方法时,一般应优先考虑使用能力检测。怪癖检测是确定应该如何处理代码的第二选择。而用户代理检测则是客户端检测的最后一种方案,因为这种方法对用户代理字符串具有很强的依赖性。

相关文章

  • 客户端检测的含义和方法

    大纲 1、什么是客户端检测2、客户端检测的分类3、能力检测4、怪癖检测5、用户代理检测6、客户端检测方法的选择 1...

  • js dom操作

    1.客户端检测1.1客户端检测主要包括浏览器的识别和操作系统的识别navigator.oscpu 检测操作系统na...

  • 客户端检测

    本文主要简单介绍客户端检测的三种方式:能力检测、怪癖检测、用户代理检测 能力检测 最常用、广泛的客户端检测形式 是...

  • js高级程序设计 第 九 章 客户端检测

    在使用客户端检测时要切记,不到万不得已的时候,就不要使用客户端检测,只要能找到更通用的方法,就应该优先采用更通用的...

  • file upload(DVWA)

    检测流程概述: 1.客户端检测后缀思路:由于是客户端检测 1.通过插件禁检测机制 2使用burpsuite修改上传...

  • 性能优化之内存检测

    内存检测的常规方法: 静态检测方法 静态检测方法包括手动和自动两种 手动方式: 使用快捷键Shift + Com...

  • 第九章 客户端检测

    1.不到万不得已,就不要使用客户端检测 2.客户端检测的方式(按照使用优先级): ①能力检测:在编写代码之前先检测...

  • JavaScript高级程序设计笔记9

    客户端检测 能力检测 (1)更可靠的能力检测 (2)能力检测,不是浏览器检测 怪癖检测 用户代理检测 (1)用户代...

  • 数组的增删改排列排序push,unshift,pop,shift

    数组的常用方法路线:方法的作用和含义方法的实参(类型和含义)方法的返回值原来数组是否会发生改变 1.数组的增删改 ...

  • JavaScript 编程:8.客户端检测

    客户端检测 用户代理字符串检测技术 client.js 文件:

网友评论

      本文标题:客户端检测的含义和方法

      本文链接:https://www.haomeiwen.com/subject/zsiruftx.html