摘要:前言检测客户端的手段很多,并且各有利弊,但不到万不得已,不要使用客户端检测,只要能找到更通用的方法,就优先使用更通用的方法。用户代理检测在每一次请求过程中,用户代理字符串是作为响应首部发送的,并且该字符串能被的访问。
前言:检测Web客户端的手段很多,并且各有利弊,但不到万不得已,不要使用客户端检测,只要能找到更通用的方法,就优先使用更通用的方法。1 能力检测
能力检测的目标不是识别特定的浏览器,而是识别浏览器的能力,知道浏览器能干什么不能干什么。能力检测的基本模式如下:
if(object.propertyInQuestion){ //使用object.propertyInQuestion } //判断document是否支持getelementById方法 if(document.getElementById){ return document.getElementById(); }2 可靠的能力检测
如果判断某个对象是否支持排序方法,可以使用操作符typeof
function isSortable(object){ return typeof object.sort == "function"; }
在可能的情况下,尽量使用typeof进行能力检测,但是并不是所有浏览器都会返回的值都合理。大部分浏览器在检测到document.createElement存在时,都会返回ture,但是在IE8及之前的IE版本会返回false。所以使用typeof会比较靠谱。
3 用户代理检测在每一次HTTP请求过程中,用户代理字符串是作为响应首部发送的,并且该字符串能被Ja aScript的navigator.userAgent访问。
用户字符串中包含大量与浏览器有关的信息,包括浏览器、平台、操作系统及浏览器版本,可以通过用户代理字符串来识别浏览器。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/78416.html
摘要:由于怪癖检测无法精确地检测特定的浏览器和版本。用户代理检测需要特殊的技巧,特别是要注意会隐瞒其用户代理字符串的情况。而在客户端,用户代理检测一般被当作一种万不得已的做法,其优先级排在能力检测和怪癖检测之后。 能力检测 在编写代码之前先检测特定浏览器的能力。例如,脚本在调用某个函数之前,可能要先检测该函数首付存在。这种检测方法将开发人员从考虑具体的浏览器类型和版本中解放出来,让他们把注意...
摘要:能力检测性能检测基本模式语法目标不是识别特定的浏览器,而是识别浏览器的能力。更可靠的能力检测能力检测对于想知道某个特性是否会按照适当方式行事非常有用。所以在可能的情况下,要尽量使用进行能力检测。 客户端检测 不到万不得已,就不要使用客户端检测。只要能够找到更通用的方法,就应该优先采用更通用的方法。先设计最通用的方案,然后再使用特定于浏览器的技术增强该方案。 能力检测(性能检测) 基本模...
摘要:客户端检测方式能力检测怪癖检测用户代理检测能力检测最常用也是最为人们广泛接受的客户端检测形式是能力检测又称特性检测。在可能的情况下,尽量使用进行能力检测。 客户端检测方式 能力检测 怪癖检测 用户代理检测 能力检测 最常用也是最为人们广泛接受的客户端检测形式是能力检测(又称特性检测)。能力检测的目标不是识别特定的浏览器,而是识别浏览器的能力。采用这种方式不必顾及特定的浏览器如何...
摘要:用户代理检测通过的属性访问。在服务器端,通过检测用户代理字符串来确定用户使用的浏览器是一种常用的做法但在客户端,用户代理检测一般为最低优先级。目前只要检测五大呈现引擎即可和。 用户代理检测 通过 JavaScript 的 navigator.userAgent 属性访问。在服务器端,通过检测用户代理字符串来确定用户使用的浏览器是一种常用的做法;但在客户端,用户代理检测一般为最低优先级。...
摘要:用户代理检测用户代理检测是争议最大的客户端检测技术。第二个要检测是。由于实际的版本号可能会包含数字小数点和字母,所以捕获组中使用了表示非空格的特殊字符。版本号不在后面,而是在后面。除了知道设备,最好还能知道的版本号。 检测Web客户端的手段很多,各有利弊,但不到万不得已就不要使用客户端检测。只要能找到更通用的方法,就应该优先采用更通用的方法。一言蔽之,先设计最通用的方案,然后再使用特定...
阅读 2780·2021-10-14 09:50
阅读 1194·2021-10-08 10:21
阅读 3625·2021-10-08 10:16
阅读 3005·2021-09-27 14:02
阅读 3114·2021-09-23 11:21
阅读 2049·2021-09-07 10:17
阅读 373·2019-08-30 14:00
阅读 2069·2019-08-29 17:26