《高级程序设计》 9 客户端检测

  • 能力检测
  • 怪癖检测
  • 用户代理检测

一、能力检测

1、更可靠的能力检测

2、能力检测,不是浏览器检测

二、怪癖检测

三、用户代理检测

1、用户代理字符串的历史

①早期的浏览器

②Netscape Navigator 3和Internet Explorer 3

③Netscape Communicator 4和IE4~IE8

④Gecko

⑤Webkit

⑥Konqueror

⑦Chrome

⑧Opera

⑨IOS和Android

2、用户代理字符串检测技术

①识别呈现引擎

②识别浏览器

③识别平台

④识别windows操作系统

⑤识别移动设备

⑥识别游戏系统

3、完整的代码

4、使用方法

时间: 2024-08-29 14:12:50

《高级程序设计》 9 客户端检测的相关文章

JavaScript高级程序设计之客户端检测

浏览器检测,是个很让人头痛但又必须要考虑的一个问题.毕竟市面上的浏览器厂商众多,虽然有些标准化的东西约束着他们,但是有些东西,他们还是各自按自己的意愿来.这其中以IE浏览器最为突出,它几乎可以被称之为万恶之源. 浏览器检测的方法有很多,这里介绍的可能并不是全部,但基本上都是比较常用的方法.下边我就来详细介绍一下高设上提供的浏览器检测的方法. 能力检测 能力检测比较简单,就是判断浏览器支不支持这个方法.例:if(Object.assign){ ...... }.这种方法最简单,也最常用,但缺点也很

读javascript高级程序设计17-在线检测,cookie,子cookie

一.在线状态检测 开发离线应用时,往往在离线状态时把数据存在本地,而在联机状态时再把数据发送到服务器.html5提供了检测在线状态的方法:navigator.onLine和online/offline事件. 1.navigator.onLine属性 表示当前的网络状态是否在线,true表示在线,false表示离线.当网络状态变化时,该属性也会随之变化. 2.online和offline事件 HTML5提供了这两个事件,会在网络状态变化时触发.online在网络由离线变为在线时触发:offline

客户端检测方法整理

资料参考<Javascript高级程序设计> 能力检测是最常用的检测方式之一,它目标不是检测特定的浏览器,而是检测浏览器的能力, 能力检测的基本模式如下: if(object.propertiInQuestion){  return object.propertiInQuestion://使用object.propertiInQuestion } 能力检测需要注意的是先检测达成目的的最常用的特性,还有就是实际中用到的属性. 能力检测整理: 1,事件: 1 var EventUtil={ 2 a

javascript高级程序设计 第九章-- 客户端检测

javascript高级程序设计 第九章-- 客户端检测 客户端检测是javascript开发中最具争议的一个话题,由于浏览器间存在差别,通常需要根据不同浏览器的能力分别编写不同的代码.有下列常使用的客户端检测方法:能力检测:在编写代码之前先检测特定浏览器的能力.例如,脚本在调用某个函数之前,可能要先检测该函数是否存在.这种检测方法将开发人员从考虑具体的浏览器类型和版本中解放出来,让他们把注意力集中到相应的能力是否存在上.能力检测无法精确地检测特定的浏览器和版本.怪癖检测:怪癖实际上是浏览器中存

JavaScript高级程序设计学习笔记第九章--客户端检测

1.能力检测:能力检测的目标不是识别特定的浏览器,而是识别浏览器的能力.(我的理解就是识别浏览器能做什么不能做什么) 2.怪癖检测:目标是识别浏览器的特殊行为.但与能力检测确认浏览器支持什么能力不同,怪癖检测是想要知道浏览器存在什么缺陷(“怪癖”也就是 bug). 3.用户代理检测:争议最大的一种客户端检测技术.用户代理检测通过检测用户代理字符串来确定实际使用的浏览器.在每一次 HTTP 请求过程中,用户代理字符串是作为响应首部发送的,而且该字符串可以通过 JavaScript 的 naviga

读书时间《JavaScript高级程序设计》四:BOM,客户端检测

隔了一段时间,现在开始看第8章. 第8章:BOM BOM提供了很多对象,用于访问浏览器的功能.BOM的核心对象是window,它表示浏览器的一个实例. window对象是通过javascript访问浏览器窗口的一个接口,又是ECMAScript中的Global对象. 所有在全局作用域声明的变量.函数都是window对象的属性和方法. 1. 窗口关系,框架 每个框架都有window对象,并在frames集合中 每个window对象都有name属性,其中包含框架名称 top对象始终指向最高(最外)层

JavaScript高级程序设计(第三版)学习笔记20、21、23章

第20章,JSON JSON(JavaScript Object Notation,JavaScript对象表示法),是JavaScript的一个严格的子集. JSON可表示一下三种类型值: 简单值:字符串,数值,布尔值,null,不支持js特殊值:undefined 对象:一组无序的键值对 数组:一组有序的值的列表 不支持变量,函数或对象实例 注:JSON的字符串必须使用双引号,这是与JavaScript字符串最大的区别 对象 { "name":"Nicholas"

《JavaScript高级程序设计(第3版)》.Nicholas.C.Zakas.扫描版.pdf

下载地址:网盘下载 内容简介 编辑 本书从最早期Netscape浏览器中的JavaScript开始讲起,直到当前它对XML和Web服务的具体支持,内容主要涉及JavaScript的语言特点.JavaScript与浏览器的交互.更高级的JavaScript技巧,以及与在Web应用程序中部署JavaScript解决方案有关的问题,如错误处理.调试.安全性.优化/混淆化.XML和Web服务,最后介绍应用所有这些知识来创建动态用户界面. 本书适合有一定编程经验的开发人员阅读,也可作为高校相关专业课程的教

客户端检测技术

客户端检测是javascript开发中最具争议的一个话题,由于浏览器之间存在差别,通常需要根据不同的浏览器能力分别编写不同的代码. 能力检测: 在编写代码之前先检测浏览器的能力.例如,脚本在调用某个函数之前,可能先检测该函数是否存在.这种检测方法将开发人员从考虑具体的浏览器类型和版本中解放出来,让它们把注意力集中到相应的能力是否存在上.能力无法精确地检测特定的浏览器和版本. 怪癖检测: 怪癖实际上是浏览器实际中存在的bug,例如早期的Webkit中就存在一个怪癖,即它会在for-in循环中返回被

javascript客户端检测 记录一些“怪癖”

因为市面上多种浏览器之间的差异,和不同浏览器的“怪癖”,所以我们在开发时可能需要客户端检测,确保自己的代码能顺利的在全部浏览器上运行 第一种最常用的客户端检测——能力检测.能力检测的目标不是识别特定的浏览器,而是识别浏览器的能力 if(object.propertyInQuestion){ //使用object.propertyInQuestion } 就是在运行代码之前检查浏览器是否支持要用到的方法或属性,如果不能就运行针对性的代码 第二种客户端检测——“怪癖”检测的目标是识别浏览器的特殊行为