`

不要依靠if(document.all)来判断页面加载完毕

 
阅读更多


<html>
  <head>
    <title>MyHtml.html</title>
   
<script type="text/javascript">

	if(document.all){
		alert(document.getElementById("div1"));
		alert(document.getElementsByName("btn1"));
		
	}


</script>
  </head>
  
  <body>
 		
 		<div id="div1">1234</div>
 		<button name="btn1"></button>
  </body>
</html>




从这个例子可以得知,document.all这个条件不能根据id获取dom元素,但可以根据name获取到。
这样写可以避免这一状况
<script>
	if (document.all) {

		window.attachEvent('onload', show);

	}
	function show() {

		alert(document.getElementById("div1"));
	}
</script>



但是这样写的意义又何在呢?为什么不直接这样写呢?
window.onload=function () {
		alert(document.getElementById("div1"));
		alert(document.getElementsByName("btn1"));
	};

个人建议:如果要判断dom加载完毕,老老实实地使用上面这个方法。
终上所述,document.all是个bug
分享到:
评论

相关推荐

    获取TEXTBOX焦点

    - **`onload`事件**:该事件在页面文档对象模型(DOM)完全加载完毕后触发,包括所有的脚本、样式表、图像等资源。这意味着当`onload`事件触发时,页面已准备就绪,可以安全地执行JavaScript代码。 - **`focus`...

    JS实现图片自动切换

    对于图片渐变过渡效果,代码中使用了`document.all`来判断浏览器是否支持IE的滤镜效果,进而实现图片的渐变显示。这是一个比较老旧的方法,在现代浏览器中通常会采用CSS3的`transition`或`animation`属性来实现更...

    IFRAME自适合高度详解

    最后,通过监听页面加载完成事件来执行这个函数,确保页面加载完毕后`&lt;iframe&gt;`的高度能够被正确调整。 #### 方法二:使用`window.onload`函数调整高度 这种方法利用`window.onload`事件来调整`&lt;iframe&gt;`的高度。...

    vba之网抓详细事例

    Do Until .ReadyState = 4 '等待页面加载完毕 DoEvents Loop Set dmt = .document '将IE浏览器加载的页面文档,赋予dmt变量 Set tbs = dmt.all.tags("table") '获取所有的table对象集合 For i = 0 To tbs....

    JavaScript学习笔记

    页面加载事件是前端开发者经常需要关注的一个点,它标志着DOM(文档对象模型)已完全加载完毕,可以进行进一步的JavaScript操作。然而,不同的浏览器对于页面加载事件的支持并不统一,这导致了在实际开发中需要进行...

    Set-as-home-page-code.doc.zip_Home Home_自动弹出窗口

    可以使用`DOMContentLoaded`事件来确保页面内容已加载完毕: ```javascript document.addEventListener('DOMContentLoaded', function() { var confirmation = confirm("是否将此页面设为您的首页?"); if ...

    VB怎么为网页文本框赋值

    一旦HTML文档加载完毕,就可以使用VB脚本语言操作DOM元素。这里的关键是获取目标文本框的DOM节点,并设置其`Value`属性。下面是一个具体的示例: ```vb Private Sub Command1_Click() Dim IEList As New Shell...

    黑页代码

    这段JavaScript代码实现了一个功能:当页面加载完毕后自动滚动到顶部,并且每隔一段时间向下滚动一行。此外,当鼠标按下时停止滚动,双击则重新开始滚动。这样的设计可能用于创建某种视觉上的特殊效果,例如让页面看...

    JS 页面自动加载函数(兼容多浏览器)

    为了确保代码的健壮性,你还可以考虑使用`DOMContentLoaded`事件,这个事件在DOM树解析完成时触发,而不是等待所有资源(如图片、脚本等)加载完毕。在现代浏览器中,你可以这样实现: ```javascript function ...

    js限制网站图片最大尺寸

    这一步是必要的,因为图片可能尚未加载完毕,此时对其进行操作可能导致错误。 6. **按比例缩放**: - 如果图片的宽度或高度超过了设定的最大值,那么就根据比例进行缩放。 - `img.width = MaxWidth;` 和 `img....

    C#操作IE打开网页

    可以监听`DocumentComplete`事件来判断网页是否加载完毕。 ```csharp bool isDocumentLoaded = false; ie.DocumentComplete += (sender, e) =&gt; { if (e.Url.AbsolutePath == url) { isDocumentLoaded = true; }...

    Iframe自适应其加载的内容高度

    2. **监听加载事件**:当`iframe`加载完毕后,需要执行自适应高度的逻辑。这是因为只有当`iframe`内容完全加载完成后,才能正确获取其内部文档的实际高度。 3. **计算高度并设置**:计算`iframe`内部文档的实际高度...

    JavaScript 基础.txt

    一般而言,将脚本放在`&lt;head&gt;`标签内会在文档加载完毕后执行;而放在`&lt;body&gt;`标签内的脚本,则会在页面渲染时按顺序执行。 - 示例代码: ```html console.log('Head script'); console.log('Body ...

    简洁的一个实现网页全屏代码

    有些浏览器出于安全考虑,不允许在页面加载完毕前自动执行脚本。这意味着你可能需要在页面加载的`load`事件中添加触发全屏的代码,并确保使用了正确的权限和安全措施。 8. 响应式设计的考虑 在进行全屏网页设计时,...

    Javascript检查图片大小不要让大图片撑破页面

    这段代码将在图片加载完毕后调用`show()`函数,将图片的实际宽度传递给函数,并将返回的宽度值赋给图片的`width`属性,从而限制图片的最大宽度。 此外,提及的其他知识点包括: 1. 鼠标经过自动选取的复选框: 在...

    jQuery 实现checkbox的全选,全部选

    当该复选框被点击时,根据其是否被选中,通过 `is(':checked')` 来判断,我们相应地选中或取消选中 "checkbox-group" 下的所有子复选框。 `jQuery_min.js` 文件是压缩过的 jQuery 库,它包含了所有 jQuery 功能,但...

    JS实现点击下载的小例子

    - **打开新窗口并下载文件**:一旦检测到iframe已加载完毕,便通过`window.open`打开一个新窗口,并通过`execCommand("SaveAs")`命令触发文件下载对话框。 #### 四、注意事项与优化建议 1. **兼容性问题**:该方法...

    javascript带回调函数的异步脚本载入方法实例分析

    // 当所有脚本加载完毕时,执行回调 if (this.loadCount == this.totalRequired && typeof this.callback == 'function') { this.callback.call(); } }, writeScript: function (src) { var self = this; ...

    Javascript 读取操作Sql中的Xml字段

    5. **事件处理**:为了在页面加载完成后执行这些操作,我们可以使用`window.onload`事件,确保所有元素都已加载完毕再执行JavaScript代码。 下面是一个简化的代码示例,展示了如何使用JavaScript处理XML数据: ```...

Global site tag (gtag.js) - Google Analytics