<address id="ttjl9"></address>

      <noframes id="ttjl9"><address id="ttjl9"><nobr id="ttjl9"></nobr></address>
      <form id="ttjl9"></form>
        <em id="ttjl9"><span id="ttjl9"></span></em>
        <address id="ttjl9"></address>

          <noframes id="ttjl9"><form id="ttjl9"></form>

          跨瀏覽器問題

          2018-7-13    seo達人

          如果您想訂閱本博客內容,每天自動發到您的郵箱中, 請點這里

          寫在前面的話

          關于跨瀏覽器問題一直是一個大問題, 所以我決定在此做一個記錄, 當然不可能把跨瀏覽器問題一下子都搞定, 所以該文章將是一個長期的過程, 當coding時遇到了, 就會完善該文。

          添加事件

          var EventUtil = { /*
               *添加事件
              */ addHandler: function(element, type, handler) { if(element.addEventListener){ element.addEventListener(type, handler, false)
                  }else if(element.attachEvent){ element.attachEvent('on'+type, handler)
                  }else{ element['on'+type] = handler
                  }
              }, /*
               *刪除事件
              */ removeHandler: function(element, type, handler){ if(element.removeEventListener){ element.removeEventListener(type, handler, false)
                  }else if(element.detachEvent){ element.detachEvent('on'+type, handler)
                  }else { element['on'+type] = null }
              }, /*
               *獲得事件對象
              */ getEvent: function(event){ return event ? event : window.event  //ie瀏覽器的事件對象是window對象的屬性, 所以需要window.event來獲取。 }, /*
               *獲得事件對象的事件目標(觸發事件的事件目標)
              */ getTarget: function(event){ return event.target || event.srcElement //這是||符號的另一種用法, 遇到true就返回。 }, /*
               *阻止默認事件
              */ preventDefault: function(event){ if(event.preventDefault){
                      event.preventDefault
                  }else{
                      event.returnValue = false }
              }, /*
               *阻止事件冒泡
              */ stopPropagation: function(event){ if(event.stopPropagation){
                      event.stopPropagation()
                  }else {
                      event.cancelBubble = true }
              }
          
          }  // stopPropagation()方法既可以阻止事件冒泡,也可以阻止事件捕獲,也可以阻止處于目標階段。
              
          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
          • 9
          • 10
          • 11
          • 12
          • 13
          • 14
          • 15
          • 16
          • 17
          • 18
          • 19
          • 20
          • 21
          • 22
          • 23
          • 24
          • 25
          • 26
          • 27
          • 28
          • 29
          • 30
          • 31
          • 32
          • 33
          • 34
          • 35
          • 36
          • 37
          • 38
          • 39
          • 40
          • 41
          • 42
          • 43
          • 44
          • 45
          • 46
          • 47
          • 48
          • 49
          • 50
          • 51
          • 52
          • 53
          • 54
          • 55
          • 56
          • 57
          • 58
          • 59
          • 60
          • 61

          ajax事件

          關于xhr對象, ie7需要之前的需要使用ActiveXObject對象來實現, 而且存在三個不同的版本。 雖然現在已經不用兼容ie7以前的瀏覽器了, 還是可以了解一下: 
          //適用于IE7之前的版本

          function createXHR(){ if(typeof arguments.callee.activeXString != 'string'){ var versions = ['MSXML2.XMLHttp.6.0', 'MSXML2.XMLHttp.3.0', 'MSXML2.XMLHttp'],
                  i,
                  len; for(i = 0; len = version.length; i++){ try{ new ActiveXObject(veersions[i]); arguments.callee.activeXString = versions[i] break }catch(ex){ //跳過 }
                  }
              } return new ActiveXObject(arguments.callee.activeXString)
          }
              
          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
          • 9
          • 10
          • 11
          • 12
          • 13
          • 14
          • 15
          • 16
          • 17

          //最終版本

          function createXHR(){ if(typeof XMLHttpRequest != 'undefined'){ return new XMLHttpRequest()
              }else if(typeof ActiveXObject != 'undefined'){ if(typeof arguments.callee.activeXString != 'string'){ var versions = ['MSXML2.XMLHttp.6.0', 'MSXML2.XMLHttp.3.0', 'MSXML2.XMLHttp'],
                  i,
                  len; for(i = 0; len = version.length; i++){ try{ new ActiveXObject(veersions[i]); arguments.callee.activeXString = versions[i] break }catch(ex){ //跳過 }
                  }
              } return new ActiveXObject(arguments.callee.activeXString)
              }else { throw new Error("NO XHR object availabel")
              }
          }
          藍藍設計www.syprn.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務

          日歷

          鏈接

          個人資料

          藍藍設計的小編 http://www.syprn.cn

          存檔

          亚洲va欧美va天堂v国产综合