2008年12月26日

Safari 的 document.all

今天寫了一個 javascript 的測試小程式。小程式要在 IE, Firefox, Safari, Chrome 四個瀏覽器上測試。為了分辨不同的瀏覽器,會測驗 document.all。用了之後,發現怪怪的。下面我將異常處列出來。

    上例在四大瀏覽器測試,輸出結果如下:
  1. IE:[object HTMLCollection] / / [object HTMLCollection]。
  2. Firefox:undefined / / undefined。
  3. Safari:[object HTMLCollection] / / undefined。
  4. Chrome:undefined / / undefined。

有沒有發現 Safari 的輸出怪怪的。我將程式修改了一下。

    上例在四大瀏覽器測試,輸出結果如下:
  1. IE:[object HTMLDocument] / / [object HTMLDocument]。
  2. Firefox:[object HTMLDocument] / / [object HTMLDocument]。
  3. Safari:[object HTMLDocument] / / [object HTMLDocument]。
  4. Chrome:[object HTMLDocument] / / [object HTMLDocument]。

這回 Safari 回復正常了。我上網查了查,學了一招,將程式再改寫。

    上例在四大瀏覽器測試,輸出結果如下:
  1. IE:[object HTMLCollection] / / [object HTMLCollection]。
  2. Firefox:undefined / / undefined。
  3. Safari:[object HTMLCollection] / / [object HTMLCollection]。
  4. Chrome:undefined / / undefined。

這次的輸出結果,終於回復了和諧性;訣竅就是用了 typeof(document.all)。


©2008-2009 by ant2legs, All Rights Reserved. ant2legs 擁有其製作的文章,圖片與程式的著作權,所有權利保留。