再談ie和firefox下的document.all屬性
更新時間:2009年10月21日 14:25:10 作者:
很多情況下,我們是使用document.all來判斷當(dāng)前瀏覽器是ie還是 Mozilla 。
例如下面的代碼:
<html>
<body>
<SCRIPT LANGUAGE="JavaScript">
<!--
if(document.all)
alert("this is a IE");
else
alert("this is a Mozilla");
//-->
</SCRIPT>
</body>
</html>
在IE瀏覽器會輸出 “this is a IE”;
而在firefox瀏覽器中會輸出"this is a Mozilla"。
但這樣是不能直接就認(rèn)為在 firefox中 是不支持 document.all屬性方法的。
下面一段代碼,在IE和firefox瀏覽器下都運行正常
<html>
<body>
<input type="text" id="txt" value="ddd"/>
<SCRIPT LANGUAGE="JavaScript">
<!--
var v = document.all.txt.value;
alert(v);
//-->
</SCRIPT>
</body>
</html>
這是因為較新FF對all做了特殊處理,JS在招行過程中檢測到只有單獨的all屬性是,就會返回JSVAL_VOID(也就是false)值;
當(dāng)JS在招行過程中檢測到形如'if (o.p)...' or '(o.p) ?...:...', 則回返回一個HTMLCOLLECTION對像.
而在GOOGLE瀏覽器中,則對all有雙重分處,既是一個COLLECTION又是一個JS VOID(false)值.
復(fù)制代碼 代碼如下:
<html>
<body>
<SCRIPT LANGUAGE="JavaScript">
<!--
if(document.all)
alert("this is a IE");
else
alert("this is a Mozilla");
//-->
</SCRIPT>
</body>
</html>
在IE瀏覽器會輸出 “this is a IE”;
而在firefox瀏覽器中會輸出"this is a Mozilla"。
但這樣是不能直接就認(rèn)為在 firefox中 是不支持 document.all屬性方法的。
下面一段代碼,在IE和firefox瀏覽器下都運行正常
復(fù)制代碼 代碼如下:
<html>
<body>
<input type="text" id="txt" value="ddd"/>
<SCRIPT LANGUAGE="JavaScript">
<!--
var v = document.all.txt.value;
alert(v);
//-->
</SCRIPT>
</body>
</html>
這是因為較新FF對all做了特殊處理,JS在招行過程中檢測到只有單獨的all屬性是,就會返回JSVAL_VOID(也就是false)值;
當(dāng)JS在招行過程中檢測到形如'if (o.p)...' or '(o.p) ?...:...', 則回返回一個HTMLCOLLECTION對像.
而在GOOGLE瀏覽器中,則對all有雙重分處,既是一個COLLECTION又是一個JS VOID(false)值.
相關(guān)文章
js判斷是否為數(shù)組的函數(shù): isArray()
像 Ajaxian,StackOverflow 等,搜一下,到處都在討論 isArray() 的實現(xiàn)。對于一切都是對象的 JavaScript 來說,確實有點麻煩2011-10-10
通過Javascript讀取本地Excel文件內(nèi)容的代碼示例
這篇文章主要介紹了通過Javascript讀取本地Excel文件內(nèi)容的代碼示例,但需要一定的條件才可以使用js操作本地文件,需要的朋友參考下吧2014-04-04
基于Cesium實現(xiàn)繪制圓形,正方形,多邊形,橢圓圖形標(biāo)注
這篇文章主要介紹了如何利用Cesium實現(xiàn)繪制圓形、正方形、多邊形、橢圓等形狀的圖形標(biāo)注,文中的示例代碼講解詳細(xì),需要的可以參考一下2022-06-06

