作者grence (逍遥盃)
看板Ajax
标题Re: [问题] 关於javascript摆放位置的疑问
时间Fri May 27 02:56:31 2011
yslow跟 page speed建议把 script标签放在 dom tree最下面,
(白话一点的说法就是 </body>前面)
并且尽量把小档案合并成一个大档案,减少发出的 request数量,
最好可以再用程式 minify。
(minify: 在不影响执行结果的前提下,
移除不必要的空白、换行、注解;甚至改写变数名称之类的。)
大部分都满有道理的,但是合并成一个大档这点有些不同的声音:
http://headjs.com/
latest browsers and Head JS can load scripts in parallel. loading 3 parts in
parallel instead of as a single chunk is usually faster.
.多个小档案可透过平行下载进而提昇载入速度。
if an individual file is changed the whole combination changes and you lose
the benefits of caching. It’s better to combine only the stable files that
doesn’t change often.
.如果只有一个小档案改变,那浏览器必需舍弃已有的快取下载合并之後的大档案;
而不是保留大部分的快取只抓有变动的档案。
many popular libraries are hosted on CDN. you should take the advantage of it
instead of hosting yourself.
iPhone 3.x cannot cache files larger than 15kb and in iPhone 4 the limit is
25kb. And this is the size before gzipping. if you care about iPhones you
should respect these limits.
.手机的快取有限
突然觉得我翻的不是很顺,有空的话还是自己看原文吧。
然後依自己的状况做取舍。
※ 引述《poopoo888888 (阿川)》之铭言:
: 如题
: 小弟最近被js code该放在哪给搞糊涂了
: 以前小弟都这样放
: <head>
: <script>
: //blah blah.. 所有js code都放这
: </script>
: </head>
: 後来小弟发现 有时这样摆也可以
: <body>
: <script>
: //blah blah..
: </script>
: </body>
: 後来又发现 有时不放在head跟body内也可以
: <html>
: <head>
: </head>
: <body>
: </body>
: <script>
: //blah blah ...
: </script>
: </html>
: 但对於放在各个地方到底有什麽差异 还是搞不太清楚
: 请问各个地方的差异何在 适用时机又为何呢?
: 谢谢各位大大!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 180.176.84.58
1F:推 poopoo888888:获益良多 谢谢您 05/27 08:20
2F:→ TonyQ:除了合并大档以外,另一个路线是async download 不过技术 05/27 09:27
3F:→ TonyQ:要求比较高... 05/27 09:27
4F:推 tomin:有道理 Yahoo评分也没错 大网站要能兼容旧浏览器 05/27 19:49
5F:→ grence:二楼说的是浏览器技术支援吗XD 05/27 20:40
6F:→ TonyQ:不只浏览器啊 开发者也是 XD 05/27 21:58