今天寫了一個 javascript 的測試小程式。小程式要在 IE, Firefox, Safari, Chrome 四個瀏覽器上測試。為了分辨不同的瀏覽器,會測驗 document.all。用了之後,發現怪怪的。下面我將異常處列出來。
- 上例在四大瀏覽器測試,輸出結果如下:
- IE:[object HTMLCollection] / / [object HTMLCollection]。
- Firefox:undefined / / undefined。
- Safari:[object HTMLCollection] / / undefined。
- Chrome:undefined / / undefined。
有沒有發現 Safari 的輸出怪怪的。我將程式修改了一下。
- 上例在四大瀏覽器測試,輸出結果如下:
- IE:[object HTMLDocument] / / [object HTMLDocument]。
- Firefox:[object HTMLDocument] / / [object HTMLDocument]。
- Safari:[object HTMLDocument] / / [object HTMLDocument]。
- Chrome:[object HTMLDocument] / / [object HTMLDocument]。
這回 Safari 回復正常了。我上網查了查,學了一招,將程式再改寫。
- 上例在四大瀏覽器測試,輸出結果如下:
- IE:[object HTMLCollection] / / [object HTMLCollection]。
- Firefox:undefined / / undefined。
- Safari:[object HTMLCollection] / / [object HTMLCollection]。
- Chrome:undefined / / undefined。
這次的輸出結果,終於回復了和諧性;訣竅就是用了 typeof(document.all)。