面试历程之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

一些基础点,自己也记录一下,,,,,

 

posted @ 2015-05-19 16:51  想子  阅读(117)  评论(0)    收藏  举报