คือเวลาทำเว็บอ่ะครับ ใส่ Javascript ตรงไหนดีครับ ใน head หรือก่อนปิด body ดีครับ พอดีผมเห็นบางที่ให้ใส่ head บางที่ก่อนปิด body
ปกติผมใช้ jquery อ่ะครับ ขอบคุณครับ
ก่อนปิด body เพื่อที่จะได้โหลดเว็บแสดงผลก่อน (เหมือนโครมทำ) ค่อยทำอย่างอื่นครับ ยกเว้นกรณีจำเป็น เช่น google analytic จะได้นับเลยเผื่อคนเข้าเว็บรอโหลดไม่ไหวผิดไปซะก่อนครับ
ถ้าเราใส่พวก async ลงไปก็ใส่ตรงไหนก็ได้ใช่ไหมครับ?
เป็นไปได้ถ้าความสำคัญของ js มันน้อยกว่า html content ก็ควรใส่ก่อนปิดแท็ก body จะดีกว่าครับ
พวก Social plugins ที่ไม่ได้อยู่ในเครื่องเดียวกันบางทีก็โหลดช้ามาก พาลจะทำให้เว็บโหลดช้าทั้งหน้า
ขึ้นกับว่าโค้ดของคุณยุ่งกับวัตถุ (DOM) ในหน้าไหม เช่น ต้องรับอินพุตจากกล่องมาคำนวณ หรือต้องแสดงผลกลับไปยังกล่องข้อความไหม
ถ้าจำเป็นต้องยุ่งกับกล่องข้อความและการแสดงผล ให้ใส่ก่อนปิด body หรือไม่ก็ใช้ jQuery ฟังก์ชั่น $(document).ready(function(){ โค้ดของคุณ }); เพราะจะได้การันตีว่ามันจะรันหลังบราวเซอร์เรนเดอร์หน้าเว็บให้แล้วเสมอ (เวลาสั่งอ่านหรือแสดงข้อความ จะได้ชั่วๆ ว่ามีกล่องข้อความนั้นอยู่
แต่ถ้าโค้ดคุณไม่เกี่ยวอะไรกับการแสดงผลเลย เช่นอย่าง analytics ที่มีหน้าที่แค่ติดต่อเซิฟเวอร์ภายนอกอย่างเดียว แบบนั้นจะเอาไว้ตรงไหนก็ได้ครับ
ถ้าอันไหนไม่จำเป็นที่จะต้องใส่ส่วนอื่นของ head ก็จับใส่ใน head ให้หมดเลยครับ เพื่อความเป็นระเบียบในการเขียนโค๊ดครับ
ส่วนบางคำสั่งก็มีความจำเป็นที่จะต้องใส่ล่างๆ ก็ใส่ไปตามนั้นครับ
สิ่งหนึ่งที่ไม่ควรทำคือ ใส่ปะปนกันกับ HTML Code มั่วไปหมด จัดการได้ยากครับ
ถ้าไว้ส่วนหัวหมดหมายความว่าต้องโหลดก่อนจะแสดงผลนะครับ ในโลกของความเป็นจริงคงไม่เหมาะ
ก่อนปิด body เพื่อที่จะได้โหลดเว็บแสดงผลก่อน (เหมือนโครมทำ) ค่อยทำอย่างอื่นครับ ยกเว้นกรณีจำเป็น เช่น google analytic จะได้นับเลยเผื่อคนเข้าเว็บรอโหลดไม่ไหวผิดไปซะก่อนครับ
ถ้าเราใส่พวก async ลงไปก็ใส่ตรงไหนก็ได้ใช่ไหมครับ?
เป็นไปได้ถ้าความสำคัญของ js มันน้อยกว่า html content ก็ควรใส่ก่อนปิดแท็ก body จะดีกว่าครับ
พวก Social plugins ที่ไม่ได้อยู่ในเครื่องเดียวกันบางทีก็โหลดช้ามาก พาลจะทำให้เว็บโหลดช้าทั้งหน้า
ขึ้นกับว่าโค้ดของคุณยุ่งกับวัตถุ (DOM) ในหน้าไหม เช่น ต้องรับอินพุตจากกล่องมาคำนวณ หรือต้องแสดงผลกลับไปยังกล่องข้อความไหม
ถ้าจำเป็นต้องยุ่งกับกล่องข้อความและการแสดงผล ให้ใส่ก่อนปิด body หรือไม่ก็ใช้ jQuery ฟังก์ชั่น $(document).ready(function(){ โค้ดของคุณ }); เพราะจะได้การันตีว่ามันจะรันหลังบราวเซอร์เรนเดอร์หน้าเว็บให้แล้วเสมอ (เวลาสั่งอ่านหรือแสดงข้อความ จะได้ชั่วๆ ว่ามีกล่องข้อความนั้นอยู่
แต่ถ้าโค้ดคุณไม่เกี่ยวอะไรกับการแสดงผลเลย เช่นอย่าง analytics ที่มีหน้าที่แค่ติดต่อเซิฟเวอร์ภายนอกอย่างเดียว แบบนั้นจะเอาไว้ตรงไหนก็ได้ครับ
ถ้าอันไหนไม่จำเป็นที่จะต้องใส่ส่วนอื่นของ head ก็จับใส่ใน head ให้หมดเลยครับ เพื่อความเป็นระเบียบในการเขียนโค๊ดครับ
ส่วนบางคำสั่งก็มีความจำเป็นที่จะต้องใส่ล่างๆ ก็ใส่ไปตามนั้นครับ
สิ่งหนึ่งที่ไม่ควรทำคือ ใส่ปะปนกันกับ HTML Code มั่วไปหมด จัดการได้ยากครับ
ถ้าไว้ส่วนหัวหมดหมายความว่าต้องโหลดก่อนจะแสดงผลนะครับ ในโลกของความเป็นจริงคงไม่เหมาะ