php文件加载js文件时候,为什么有的放在头部加载,有的放在底部加载?

JavaScript019

php文件加载js文件时候,为什么有的放在头部加载,有的放在底部加载?,第1张

js加载是按网页代码从上到下的顺序加载的

你把js下载头部就会优先加载,下载尾部,就最后加载。

可以都头部加载或都尾部加载

区别就是都在头部加载可能会导致网页打开缓慢

都在尾部加载,那么如果加载时需要调用的js功能,将无法实现

这个问题有两个考虑:

如果是外部加载的js, 也就是通过src加载的外部js,  这种方式调用的js之所以要放到底部是因为浏览器渲染网页是从上往下,页面是用户能看到的也能直观感受到的,而js代码是用户看不到的,属于“幕后”的东西, 把“幕后”的东西放到最下面,那么用户能看得见的页面加载速度就会更快,让用户感觉页面打开速度很快,提高用户体验。

js一般会用于对页面DOM的操作,如果将js代码放到页面顶部, 基于浏览器从上往下加载的机制,有可能被操作的DOM节点还未加载完毕,JS就去操作DOM了,这明显会导致出错,放到页面底部会保险一些。

主要考虑是第一条, 第二条现在为了百分百保证DOM树渲染完毕执行JS, 基本都用load检测了。

解决办法:换一个js包含的方式,让javascript加载速度倍增。

把通常加载方式:

<script src="xxxx.js"></script>

改变成:

<script type="text/javascript">

document.write("<scr"+"ipt src=\"xxx.js\"></sc"+"ript>")

</script>

-------------------------------------

举个例子:

比如下面是申请的站长统计代码,以前尽管是把它放在页面的最底部,但还是拖累页面加载进度。

<script src="http://s69.cnzz.com/stat.php?id=265381&web_id=265381&show=pic" language="JavaScript" charset="gb2312"></script>

我们可以把它换成这样的方式来加载(任然放在页面最底部):

<<script type="text/javascript">>

document.write("<<scr"+"ipt src=\"http://69.cnzz.com/stat.php?id=2651&web_id=2681&show=pic\" language=\"JavaScript\" charset=\"gb2312\"></sc"+"ript>>")

<</script>>

速度快多了。

其它的js如法炮制,广告的,页面特效的。。。

最后再废话几句:

<<script type="text/javascript">>

document.write("<<scr"+"ipt src=\"xxx.js\"></sc"+"ript>>")

<</script>>

的方式,还可实现按需按条件的来加载你要的JS文件:

<<script type="text/javascript">>

if ( 心情好 ) {document.write("<<scr"+"ipt src=\"xxx.js\"></sc"+"ript>>")}

<</script>>

这样要是“心情不好”,就自然不会载入你不想要的JS文件了。