onload问题解决

问题:默认onload会等待文件加载完毕才执行,如果你的页面有一个视频怎么办?那要等n久,而我们想要的是dom树建立完成后执行一些操作。 解决:把下面代码放在头部或者外部文件引入: <script type="text/javascript"> // Dean Edwards/Matthias Miller/John Resig function init() { // 加入已经被调用过了就退出 if (arguments.callee.done) return; // 保证只被调用一次的标志 arguments.callee.done = true; //删除timer if (_timer) clearInterval(_timer); // do stuff }; /* for Mozilla/Opera9 */ if (document.addEventListener) { document.addEventListener("DOMContentLoaded", init, false); } /* for Internet Explorer */ /*@cc_on @*/ /*@if (@_win32) document.write("<script id="__ie_onload" defer="" src="javascript:void(0)"><\/script>"); var script = document.getElementById("__ie_onload"); script.onreadystatechange = function() { if (this.readyState == "complete") { init(); // call the onload handler } }; /*@end @*/ /* for Safari */ if (/WebKit/i.test(navigator.userAgent)) { // sniff var _timer = setInterval(function() { if (/loaded|complete/.test(document.readyState)) { init(); // call the onload handler } }, 10); } /* for other browsers */ window.onload = init; </script> 源文地址:http://dean.edwards.name/weblog/2006/06/again/

你可能感兴趣的:(JavaScript,IE,webkit,Safari)