当文档加载完成后执行代码
在文档“准备就绪”之前,无法安全地操纵页面。这是确保代码不会过早运行的方法
此方法等效于jQuery的$(document).ready()
方法:
document.addEventListener('DOMContentLoaded', function(){
// do something
});
但是,与jQuery相比,此代码只能在现代浏览器(IE> 8)中正常运行,并且在插入该脚本时(例如通过Ajax)文档已经渲染的情况下,它将无法正常运行。 因此,我们需要对此进行一些扩展:
function run() {
// do something
}
// in case the document is already rendered
if (document.readyState!='loading') run();
// modern browsers
else if (document.addEventListener) document.addEventListener('DOMContentLoaded', run);
// IE <= 8
else document.attachEvent('onreadystatechange', function(){
if (document.readyState=='complete') run();
});