JS相容性測試

來源:互聯網
上載者:User

1.集合類對象問題
  說明:IE下,可以使用()或[]擷取集合類對象;
  Firefox下,只能使用[]擷取集合類對象. 
  解決方案:統一使用[]擷取集合類對象.

 

        <script type="text/javascript">            var a = new Number(0);            var b = new Number(1);            var c = new Date();                        var tem = [a,b,c];            for(var i = 0; i < tem.length; i++){                document.write(tem[i] + "</br>");            }                    </script>

 

  但是當使用document.write(tem(0) + "</br>")時, IE8報錯,缺少函數,Firefox報錯函數未定義,所以我的測試結果是IE 也不可以使用()來擷取集合類對象

2.HTML對象擷取問題
  FireFox:document.getElementById("idName");
  ie:document.idname或者document.getElementById("idName").
  解決辦法:統一使用document.getElementById("idName");

     完全相容的代碼:

    <body>        <div id="test"></div>        <script type="text/javascript">            var test = document.getElementById("test");            test.innerHTML = "Just test";        </script>    </body>

       但是把代碼改為 var test = document.test; IE報錯test is null or not an object ,FireFox 報錯test is undefined。

       所以其實這種訪問方式在IE裡面也不可以。

 

3.const問題

      說明:Firefox下,可以使用const關鍵字或var關鍵字來定義常量;

      IE下,只能使用var關鍵字來定義常量. 

     解決方案:統一使用var關鍵字來定義常量.

     測試結果: FireFox可以使用const關鍵字,IE則提示法錯誤

 

4.window.event問題

      說明:window.event只能在IE下運行,而不能在Firefox下運行,這是因為Firefox的event只能在事件發生的現場使用.  

      Firefox必須從源處加入event作參數傳遞。Ie忽略該參數,用window.event來讀取該event。

      解決方案: 
  Submitted(event)"/>   …

  <script   language="javascript">      function   Submitted(evt)   {      evt=evt?evt:(window.event?window.event:null);  }    </script>

 

      測試結果:如以上解決辦法一致。

5.event.x與event.y問題
  說明:IE下,even對象有x,y屬性,但是沒有pageX,pageY屬性;
  Firefox下,even對象有pageX,pageY屬性,但是沒有x,y屬性. 
  解決方案:使用mX(mX   =   event.x   ?   event.x   :   event.pageX;)來代替IE下的event.x或者Firefox下的event.pageX. 

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.