今天学习了js功能检测,大概原理是通过navigator.userAgent来检查其实是否含有一个特殊的字符串,用正则匹配出来。
代码明天再上。
生活杂谈。
今天是考研的日子,我没有选择考研,别人问我为什么?我很虚伪的告诉他们,我不屑。起初的真实想法是,自己静不下心来,有女朋友,哪有心情读书,况且,自己读书,谁供?没钱才是主要的问题。现在的想法又变了,很简单,都是打工的,你多读2年书,还不一定有2年工作经验的优秀,修身完全看自己。
即然看到了,就说下用户检测吧。
用户检测 ,其实分为3种,第一种是能力检测,很常用。比如前量文章 提到过的加事件。
if(obj.addEventListener){
obj.addEventListener("click",function({},false);
}
其实这就是能力检测,首先检查有没有这个方法,再给这个方法加事件,其实这样按理说是有用题的。假如Obj含有addEventListener属性又怎么办,所以正确的做法是:
if(typeof obj.addEventListener =="function"){
obj.addEventListener("click",function(){},false);
}
检测 有没有这个方法。
第二种是怪癖检测。
IE8及更早版本有个BUG
实例属性与原型属性同名,该属性不会出现在for in当中。
如
function hasQuirk(){
var obj = {toString:function(){}};
for(var i in obj){
if(i == "toString"){
return false;
}
}
return true;
}
。还有一种是代理检测,明天整理出来