国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > 互联网 > 一个通用onReady函数的实现

一个通用onReady函数的实现

来源:程序员人生   发布时间:2014-10-21 08:00:00 阅读次数:2888次
define([], function(){ function onReady(fn) { var DOC = document, html = DOC.documentElement, W3C = document.dispatchEvent; //FF以前是没有readyState属性的 //判断body是否存在来决定DOM文档是否加载完毕 if (!DOC.readyState) { var readyState = DOC.readyState = DOC.body ? "complete" : "loading"; } //如果页面已经完全载入完毕直接执行回调函数 if (DOC.readyState === "complete") { setTimeout(fn); //现代游览器和IE>=IE9 } else if (W3C) { DOC.addEventListener('DOMContentLoaded', function(){ if (readyState) { DOC.readyState = 'complete'; } fn(); }, false); } else { ieReady(fn); } } function ieReady(fn) { try { //处理iframe中的页面在IE下无法通过doScroll判断DOM知否加载完毕 if (self !== top && self.document.readyState !== 'complete') { setTimeout(function(){ ieReady.call(window, fn) }) } else if (self !== top && self.document.readyState === 'complete') { arguments[0](); } else { document.documentElement.doScroll('left'); arguments[0](); } } catch (e) { setTimeout(function(){ ieReady.call(window, fn) }) } }; AS.extend({ 'onReady': onReady }); return onReady; })


生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生