本文最后更新于:3 个月前
继续上次的地方继续往下学习
日志随笔
5. 浏览器渲染流程


6. domReady实现
domReady
实际上就是获取浏览器渲染过程中DOM
树构建完成的时间,在此时间引入js
脚本,这样实现页面的无缝渲染
setTimeout
定时器,定时器制定一个固定时间,来渲染页面
window.onload
方法,资源加载完成后才会触发,包括外部资源,外部资源较多时,等待时间较长,效果不好
$(document).ready
方法,jqurey
框架中的方法,此处暂时没有学到这个框架
DOMContentLoaded
方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title>
<script src="js/myDomReady.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript"> myReady(function() { document.getElementById('header').style.color = 'red'; }); </script> </head> <body> <h1 id="header">字体颜色</h1> </body> </html>
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| function myReady(fn) { if (document.addEventListener) { document.addEventListener('DOMContentLoaded', fn, false); } else{ IEContentReady(fn); } function IEContentReady(fn) { var d = window.document; var done = false;
var init = function() { if (!done) { done = true; fn(); } } (function() { try { d.documentElement.doScroll('left'); } catch (e) { setTimeout(arguments.callee, 50); return; } init(); })();
d.onreadystatechange = function() { if (d.readyState == 'complete') { d.onratechange = null; init(); } } } }
|

各主流框架DOMReady实现:https://www.cnblogs.com/JulyZhang/archive/2011/02/12/1952484.html
未完待续