面试历程之First Blood(浏览器相关知识点2)
写完了上面这个突然想到浏览器的判定和事件对象event的兼容性,就再来一发
浏览器判定js:
根据useragent进行判断,用window.navigator.userAgent获取当前浏览器的useragent进行判断(jquery内部是这个策略)
var userAgent = navigator.userAgent.toLowerCase();
jQuery.browser = {
version: (userAgent.match(
/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [])[1],
safari: /webkit/.test(
userAgent ),
opera: /opera/.test( userAgent ),
msie: /msie/.test(
userAgent ) && !/opera/.test( userAgent ),
mozilla: /mozilla/.test(
userAgent ) && !/(compatible|webkit)/.test( userAgent )
};
我的正则渣的一逼,就不去尝试分析其中的正则了,大家看看吧
事件对象兼容性:经常在一个事件的回调函数中看到这样一行代码:
var event=window.event||event;//IE:window.event,FF:event(传入参数)
还有就是获取事件源的代码:
var eventEle=event.target||event.srcElement;//IE:event.srcElement,FF:event.target
一些基础点,自己也记录一下,,,,,

浙公网安备 33010602011771号