JS的同步加载异步加载
Posted imustsun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS的同步加载异步加载相关的知识,希望对你有一定的参考价值。
在使用js展开式菜单时,发现只有加载完页面包含的js文件时,展开菜单才能折叠起来。
查找了一下原因:是因为js页面加载使用的是同步模式,又称阻塞模式,会阻止浏览器的后续处理,停止后续的解析,只有当当前加载完成,才能进行下一步操作。所以默认同步执行才是安全的。但这样如果js中有输出document内容、修改dom、重定向等行为,就会造成页面堵塞。所以一般建议把<script>标签放在<body>结尾处,这样尽可能减少页面阻塞。
(function(){ var scriptEle = document.createElement("script"); scriptEle.type = "text/javasctipt"; scriptEle.async = true; scriptEle.src = "http://localhost/jquery.min.js"; var x = document.getElementsByTagName("head")[0]; x.insertBefore(scriptEle, x.firstChild); })();
应用该方法,便可以很好的避免页面必须加载完所有js文件才能响应菜单折叠的事件。
以上是关于JS的同步加载异步加载的主要内容,如果未能解决你的问题,请参考以下文章