notepad++
apache
首先准备好本地编写环境,与一台用于测试网络环境的服务器。对于个人开发者使用云服务器居多,轻便快捷,免运维。对于前端本地编写环境也没有什么要求,像我平常写html都是用notepad的。这些只是准备工作。
异步加载js的写法比较特殊。可以参考下图,这样的写法是保证在网页加载过程中,随着页面加载会逐渐把这个js写到页面里面,节省加载时间。放在阻塞导致js的加载失败(至于具体原因以后的经验中会提到)。
上面介绍了js的两种加载方式。如何确保js加载完全呢?首先是需要先确认你的js文件没有出现错误,否则加载出来的js文件也在console报错,导致运行失败。
IE核浏览器js加载完成可以使用readystatechange。也就是在加载js后,我们对scrpit是否加载完成执行一个判断。写法是script.onload=script.onreadystatechange=function(){ if(!this.readyState||this.readyState=='loaded'||this.readyState=='complete'){ };{}里面可以写执行语句,也可以写判断语句。
Chrome和firefox由于没有将script节点加载到DOM树中,所以不会响应该事件。要进行处理的话,需要再加一段script.onload=script.onreadystatechange=null;
对于初学者而言,使用好jquery里面的$(document).ready(function(){};方法就行了,该方法表现的就是js加载完全后执行的内容,{ }里写要执行的内容。
如果js加载不完全应该怎么做呢?检查代码,js的加载是阻塞式的,检查顺序是否存在问题。把被阻塞的js放到body onload中试试。
检查js加载顺序
多使用异步加载