01.判断页面加载完成的方法

  • 时间:
  • 浏览:1

进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。

版权声明:本文内容由互联网用户自发贡献,版权归作者所有,本社区不拥有所有权,然后 承担相关法律责任。刚刚 您发现本社区含高涉嫌抄袭的内容,欢迎发送邮件至:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>判断Dom加载完毕</title> <mce:script type="text/javascript" language="javascript"><!-- function domReady(f) { //刚刚 Dom刚刚 加载,立即执行函数 if (domReady.done) { return f(); } //增加有有一个多多函数判断Dom否有加载完毕 if (domReady.timer) { domReady.ready.push(f); //把它加入待执行函数清单中 } else { //为页面加载完毕绑定有有一个多多事件 addEvent(window, "load", isDOMReady); //初始化执行函数的数组 domReady.ready = [f]; //尽刚刚 的检查Dom否有可用 domReady.timer = setInterval(isDOMReady, 13); } } //检查Dom否有可用 function isDOMReady() { //刚刚 亲戚朋友 能判断出Dom否有可用,忽略 if (domReady.done) { return false; } //检查若干元素否有可用 if (document && document.getElementsByTagName && document.getElementById && document.body) { //刚刚 可用,停止检查 clearInterval(domReady.timer); domReady.timer = null; //执行所有在等待的函数 for (var i = 0; i < domReady.ready.length; i++) { domReady.ready[i](); } //记录Dom加载完成的标识 domReady.ready = null; domReady.done = true; } } //加进去去事件函数 function addEvent(element, type, handler) { if (!handler.$$guid) { handler.$$guid = addEvent.guid++; //为每有有一个多多事件避免函数赋予有有一个多多独立的ID } //为元素建立有有一个多多事件类型的散列表 if (!element.events) { element.events = {}; } //为没对元素/事件建立有有一个多多事件避免函数的散列表 var handlers = element.events[type]; if (!handlers) { handlers = element.events[type] = {}; //存储已有的事件避免函数(刚刚 已位于有有一个多多) if (element["on" + type]) { handelers[0] = element["on" + type]; //在散列表中存储该事件的避免函数 handelers[handler.$$guid] = handler; //赋予有有一个多多全局事件避免函数来避免所有工作 element["on" + type] = handleEvent; }; //创建独立ID的计数器 addEvent.guid = 1; function removeEvent(element, type, handler) { //从散列表中删除事件避免函数 if (element.events && element.events[type]) { delete element.events[type][handler.$$guid]; } function handleEvent(event) { var returnValue = true; //获取事件对象(IE使用全局的事件对象) event = event || fixEvent(window.event); //获取事件避免函数散列表的引用 var handlers = this.events[event.type]; //依次执行每个避免函数 for (var i in handlers) { this.$$handleEvent = handlers[i]; if (this.$$handleEvent(event) === false) { returnValue = false; } } return returnValue; }; //增加有些IE事件对象严重不足的法子 function fixEvent(event) { event.preventDefault = fixEvent.preventDefault; event.stopPropagation = fixEvent.stopPropagation; return event; } fixEvent.preventDefault = function () { this.returnValue = false; } fixEvent.stopPropagation = function () { this.cancelBubble = true; } } } } // --></mce:script> <mce:script type="text/javascript" language="javascript"><!-- //测试使用 domReady(function () { alert("判断Dom否有可用:Dom可用!") }); // --></mce:script> </head> <body> </body> </html>