再谈ie和firefox下的document.all属性

 更新时间:2009年10月21日 14:25:10   作者:  
很多情况下,我们是使用document.all来判断当前浏览器是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"。

但这样是不能直接就认为在 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)值;
当JS在招行过程中检测到形如'if (o.p)...' or '(o.p) ?...:...', 则回返回一个HTMLCOLLECTION对像.
而在GOOGLE浏览器中,则对all有双重分处,既是一个COLLECTION又是一个JS VOID(false)值.

相关文章

  • TypeScript中never类型的妙用详解

    TypeScript中never类型的妙用详解

    TypeScript 是一种静态类型的编程语言,它可以让我们在编写 JavaScript 代码时,提前发现并避免一些潜在的错误,本文主要为大家介绍了TypeScript中never类型的妙用,感兴趣的可以了解下
    2023-11-11
  • JavaScript文档加载模式以及元素获取

    JavaScript文档加载模式以及元素获取

    这篇文章主要介绍了JavaScript文档加载模式以及元素获取,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • js快速与任意QQ号码建立临时对话

    js快速与任意QQ号码建立临时对话

    那时候在群里讨论的,吸纳很多人的方法与意见,修改而成的
    2008-10-10
  • js判断是否为数组的函数: isArray()

    js判断是否为数组的函数: isArray()

    像 Ajaxian,StackOverflow 等,搜一下,到处都在讨论 isArray() 的实现。对于一切都是对象的 JavaScript 来说,确实有点麻烦
    2011-10-10
  • js对象之JS入门之Array对象操作小结

    js对象之JS入门之Array对象操作小结

    每天一对象,今天我们也来new一个。没有系统的学过JS,没有特别的写过一个比较出色的类库,没有运用过一个很强的类库,prototype.js在进行着,慢慢的前进相信不久的将来就可以应用prototype.js来开发自己的应用程序了。
    2011-01-01
  • 微信小程序scroll-view隐藏滚动条的方法详解

    微信小程序scroll-view隐藏滚动条的方法详解

    这篇文章主要介绍了微信小程序scroll-view隐藏滚动条的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • xWin之JS版

    xWin之JS版

    xWin之JS版...
    2006-11-11
  • 通过Javascript读取本地Excel文件内容的代码示例

    通过Javascript读取本地Excel文件内容的代码示例

    这篇文章主要介绍了通过Javascript读取本地Excel文件内容的代码示例,但需要一定的条件才可以使用js操作本地文件,需要的朋友参考下吧
    2014-04-04
  • 基于Cesium实现绘制圆形,正方形,多边形,椭圆图形标注

    基于Cesium实现绘制圆形,正方形,多边形,椭圆图形标注

    这篇文章主要介绍了如何利用Cesium实现绘制圆形、正方形、多边形、椭圆等形状的图形标注,文中的示例代码讲解详细,需要的可以参考一下
    2022-06-06
  • JavaScript创建对象的写法

    JavaScript创建对象的写法

    JavaScript 有Date、Array、String等这样的内置对象,功能强大使用简单,人见人爱,但在处理一些复杂的逻辑的时候,内置对象就很无力了,往往需要开发者自定义对象
    2013-08-08

最新评论