作者godgiraffe (小鹿)
看板Ajax
標題[問題] 請問 javascript 放的位置?
時間Thu May 9 14:01:08 2013
各位大大好
我又有問題來發問了 @_@"
最近在學習使用 CodeIgniter 來開發網站
遇到了一個"小問題"
那就是 javascript 要放在哪邊?
先說說目前 view 的寫法:
1個 view 會包括 include("header.php") ←通常是放置 body 以上的東西
該 view 的主要 html
include("footer.php") ←通常是放置 body 以下的東西
我想這樣子的寫法應該沒什麼問題吧??(如果有問題請指點@_@")
有 html 通常必定會有其相關的 javascript
而這些 javascript 不是通用的
例如: 註冊頁面的 javascript 不可能在【新增文章】裡頭使用 XD
基於【不是通用的】這個原因
所以 javascript 就會放置在【該 view 的主要 html】中
------------------------- [此為問題]---------------------------------
接下來問題來了: 這些 javascript 要放在 html 的【前面】還是【後面】?
---------------------------------------------------------------------
以前因為基於習慣,所以都將這些 javascript 放在 <head></head> 中
所以都是擺前面
可是之前拜讀了一篇文章(
http://ithelp.ithome.com.tw/question/10103901
裡頭寫到: 但至少你真正應該做的,是將 Javascript 檔案放置 site_footer 之前載入
原因是: 在 Head 載入 JavaScript 在大多數一般的狀況下沒有具體的益處,
而且有許多的壞處,像是會使面輸出中止,而讓頁面讀取感覺非常慢。
所以說,對寫網頁比較好的習慣,是將 Javascript 放在 footer 前載入就可以了嗎?
不好意思,打了有點長..
因為怕直接問這個問題,會有點沒頭沒尾的
所以才解釋一下 Q_Q
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.250.50.43
※ 編輯: godgiraffe 來自: 60.250.50.43 (05/09 14:01)
1F:推 matrixki:放在body的最後面 05/09 18:58
2F:→ dlikeayu:沒玩過CI,但是一個framework應該沒慘到要用include來跑 05/13 14:27
3F:→ dlikeayu:view吧? 應該會有render之類的function來使用layout 05/13 14:28
嗯嗯!沒錯 最近有摸比較多
在 CI 的 control 裡應該是這樣寫 $this->load->view("view_name");
4F:→ dlikeayu:另外也應該要有類似register javascript位置的函式才對 05/13 14:28
5F:→ dlikeayu:好比可以安排它是appendTO head </body>之前 <body>開始 05/13 14:29
6F:→ dlikeayu:和onload時.... 先查一下ci的api看看吧 05/13 14:29
這部分我可能就得再研究看看了@_@
目前老闆在催,要趕工,可能比較沒那麼多時間,去學怎麼做比較好 Q_Q
7F:→ dlikeayu:然後就原PO的問題回答;lib類 待使用的放</body>之前 05/13 14:31
8F:→ dlikeayu:執行面的寫在<head>裏 去等document.ready再做 這樣可以 05/13 14:31
9F:→ dlikeayu:加速網頁畫面render的呈現 05/13 14:31
※ 編輯: godgiraffe 來自: 60.250.50.43 (05/16 20:32)
10F:推 royal3501:會操作dom物件的習慣放body的最後,lib類的就放head 05/23 00:57
11F:→ royal3501:好像javascript:the good part有寫?! 05/23 00:58