论坛首页 Web前端技术论坛

DOM加载与文档资源加载

浏览 5048 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-01-01   最后修改:2011-01-14
在开发中遇到问题,需要在页面加载前显示广告提示。也就是在dom还没有加载先显示广告,当页面所有资源加载完后在隐藏广告,显示dom内容。window onload包含dom load。
页面响应加载的顺序是,域名解析->加载html->加载js和css->加载图片等其他信息,jquery的Dom Ready方法在加载图片等其他信息前就可以操作Dom了,先于window.onload事件触发前执行。
Jquery的ready和Dom的onload的区别:
   1. onload是所有dom元素创建完毕,图片、css等都加在完毕后才触发
   2. ready则是dom元素创建完毕后就被触发
相对来说jquery的ready可以提高网页的响应速度.


<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>测试页面</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script>
        document.open();
	document.write('测试开始...............................');
        document.close();
</script>
<script>
 $(function(){
	alert('DOM资源已经加载完成!');
 })
</script>
</head>
	<!--body onload IE浏览器支持-->
	<body onload="alert('body on load!');">
		<div id="content">
			<div></div>
		</div>
		<script>
		//绑定window.onload事件
		window.onload = function(){alert('页面全部资源已经加载完成1');};
		//重复绑定window.onload事件
		$(window).load(function(){
			alert('页面全部资源已经加载完成2');
		});
		document.write('测试结束...............................');
		</script>
	</body>
</html>

参考:
http://www.jsmix.com/javascript/document-ready-window-load.html
http://xuxiangpan888.iteye.com/blog/253323
http://www.css88.com/archives/2112
http://www.61dh.com/blog/2009/01/jquery-documentready.html
http://blog.suiyidian.cn/post-55.html
   发表时间:2011-01-07  
那IE中body的onload合适触发的?比window早吗?
0 请登录后投票
   发表时间:2011-01-07  
ld57601870 写道
那IE中body的onload合适触发的?比window早吗?

在页面所有资源加载完成后,包括图片。。。
0 请登录后投票
   发表时间:2011-01-08  
1。lz没听说过DOMContentLoaded事件吗?jquery除IE外都是直接调用这个事件的。IE是用onreadystatechange模拟的。为什么都不抓住本质的东西呢?

2。引用:就是在dom还没有加载先显示广告,当页面所有资源加载完后在隐藏广告,显示dom内容。

这是不可能的。广告也是dom内容。只能说是先显示广告的dom,后显示原画面的dom。

忠告:用jq的,除非看其源码。。。。
0 请登录后投票
   发表时间:2011-11-15  
rainsilence 写道
1。lz没听说过DOMContentLoaded事件吗?jquery除IE外都是直接调用这个事件的。IE是用onreadystatechange模拟的。为什么都不抓住本质的东西呢?

2。引用:就是在dom还没有加载先显示广告,当页面所有资源加载完后在隐藏广告,显示dom内容。

这是不可能的。广告也是dom内容。只能说是先显示广告的dom,后显示原画面的dom。

忠告:用jq的,除非看其源码。。。。


所言极是。Ext是创建标签然后改为doScroll来判断是否DOMContentLoaded。
jq只是js的一个分支,一个库而已。

除此之外,JS的东西还有很多很多。
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics