JS红皮书读书笔记-09-客户端检测

TOC
  1. 1. 能力检测
  2. 2. 怪癖检测
  3. 3. UA检测

存在客户端检测, 是因为浏览器大战, 各家浏览器一单不按照某个规范, 那么实现起某个功能就会有五花八门的差异.

比如说早期在ajax和事件绑定上, 都要另外兼容IE , 此章的笔记并不多.

主要告诉检测的几种思路:

能力检测

比如对区分PC端和移动端要求不高, 可以如下:

var isMobile = function () {
try {
return !!document.createEvent("TouchEvent");
} catch (e) {
return false;
}
}();

怪癖检测

怪癖检测实际上就根据某版本的浏览器的bug来鉴定, 比如早期的safari浏览器

function isOldSafari(){
var reg = /\d/;
return typeof reg == 'function'; // 早期的safari会返回'function', 显然是bug
}

UA检测

大部分情况下都是通过访问navigator的userAgent, platform等属性来判断是否属于某种设备. 当然, 对于后端接受来说, 这些字段都是可以伪造的, 不过在前端方面, 用于设备检查, 已经完全足够.


本章完

访客评论