ในฐานะโปรแกรมเมอร์ ASP คุณจะไม่สงสัยถึงความสำคัญของการปรับปรุงประสิทธิภาพของเว็บแอปพลิเคชันของคุณ เพื่อให้โปรแกรมของคุณทำงานเร็วขึ้น คุณอาจยุ่งอยู่กับการปรับฐานข้อมูลหรือส่วนประกอบ COM หากคุณทำทั้งหมดนี้แล้ว คุณเคยคิดที่จะปรับปรุงประสิทธิภาพด้วยการเร่งความเร็วการแสดงผลของโค้ด HTML ที่สร้างขึ้นขั้นสุดท้ายในเบราว์เซอร์หรือไม่? สำหรับผู้ใช้ หากสามารถแสดงเพจได้เร็วขึ้น คุณจะได้รับคำชมมากขึ้น
การปรับปรุงความเร็วในการแสดง HTML ในเบราว์เซอร์ของคุณสามารถทำได้โดยใช้เทคนิคที่ไม่ค่อยมีใครรู้จัก
1.ใช้ทำรังโต๊ะ?
การสร้างโครงสร้างที่ซับซ้อนในหน้าโดยทั่วไปทำได้โดยการวางตาราง HTML บนหน้า หากคุณต้องการสร้างเพจลักษณะนี้: เพจนี้มีแถบนำทางด้านบน แถบนำทางด้านซ้าย และพื้นที่เนื้อหาด้านขวา คุณสามารถสร้างได้โดยใช้ตารางขนาดใหญ่ที่มี 2 แถวและ 2 คอลัมน์ ในแถวแรก ให้รวมทั้งสองคอลัมน์เข้าด้วยกันแล้วแทรกแถบนำทางด้านบน ในคอลัมน์ด้านซ้ายของแถวที่สอง ให้แทรกตารางเพื่อแสดงปุ่มนำทาง ในคอลัมน์ด้านขวา ให้วางตารางเพื่อแสดงเนื้อหาจริง (ดูรูปที่ 1) รหัสที่สร้างโดยตารางที่ซ้อนกันดังกล่าวเป็นดังนี้:
<TABLE BORDER="0">
<TR>
<TD COLSPAN="2"><!-- เนื้อหาสำหรับแถบนำทางด้านบน --></TD>
</TR>
<TR>
<TD ALIGN="LEFT" VALIGN="TOP"><!-- เนื้อหาสำหรับแถบนำทางด้านซ้าย --></TD>
<TD ALIGN="LEFT" VALIGN="TOP"><!-- เนื้อหาสำหรับเนื้อหาของหน้า --></TD>
</TR>
</TABLE>
อย่างไรก็ตาม ในความเป็นจริง เมื่อเบราว์เซอร์พบแท็ก <TABLE> ก็จะไม่แสดงหน้าเว็บบนหน้าจอทันที เว้นแต่จะพบแท็กปิดที่เกี่ยวข้อง </TABLE> ดังนั้น หากทั้งหน้าของคุณอยู่ในตาราง จะไม่มีอะไรแสดงจนกว่าจะได้รับ </TABLE> สุดท้าย ด้วยวิธีนี้ ผู้ใช้จะไม่สามารถมองเห็นเพจได้จนกว่าจะดาวน์โหลดไฟล์ทั้งหมด เมื่อข้อมูลหน้าเว็บมีจำนวนค่อนข้างมาก (เช่น ผลการค้นหาของเครื่องมือค้นหา) คุณลักษณะนี้จะทำให้การหยุดชั่วคราวเกิดขึ้น เพื่อป้องกันสถานการณ์นี้ สามารถแบ่งหน้าออกเป็นตารางเล็กๆ จำนวนมากในระหว่างการผลิต เมื่อดาวน์โหลดโค้ด HTML จาก <TABLE> แต่ละรายการไปยัง </TABLE> ที่เกี่ยวข้องแล้ว เบราว์เซอร์จะแสดงโค้ดนั้น จากมุมมองของผู้เข้าชม หน้าเว็บจะปรากฏขึ้นทีละน้อย ทีละส่วน ปรากฏบนหน้าจอมากขึ้นเรื่อยๆ รู้สึกเหมือนความเร็วในการแสดงผลของหน้าดังกล่าวเร็วกว่าการดาวน์โหลดไฟล์ทั้งหมดแล้วแสดงอีกครั้ง
ตามหลักการนี้เพื่อศึกษาตัวอย่างก่อนหน้านี้ ตารางขนาดใหญ่ทั้งหมดในหน้าควรแบ่งออกเป็นสามตารางแยกกัน ใช้ตารางแรกเพื่อแสดงแถบนำทางด้านบน ปรับความกว้างให้ใหญ่พอที่จะเก็บเนื้อหาทั้งหมด และกรอกข้อมูลลงในบล็อก <TABLE></TABLE> ในครึ่งล่างของหน้า ตารางที่สองจากด้านซ้ายจะเรียงกัน ใช้ตารางที่สามเพื่อเก็บเนื้อหาจริง (ดูรูปที่ 2) เนื่องจากแต่ละส่วนเป็นตารางที่สมบูรณ์ แต่ละส่วนของโค้ดจึงจะแสดงทันทีหลังจากดาวน์โหลด ด้วยวิธีนี้ แถบนำทางด้านบนและด้านซ้ายจะโดดเด่นกว่าส่วนอื่นๆ ของหน้า ผู้ใช้จะจินตนาการว่าเพจจะเริ่มดาวน์โหลดในเวลานี้และจะปรากฏบนหน้าจอในไม่ช้า ซึ่งดีกว่าการปล่อยให้ผู้ใช้ต้องเผชิญกับหน้าจอว่างเปล่าเป็นเวลานานๆ
รหัสที่แก้ไขจะเป็นดังนี้:
<TABLE BORDER="0" WIDTH="100%">
<TR>
<TD ALIGN="CENTER" VALIGN="TOP"><!-- เนื้อหาสำหรับแถบนำทางด้านบน --></TD>
</TR>
</ตาราง>
<TABLE BORDER="0" ALIGN="ซ้าย">
<TR>
<TD ALIGN="LEFT" VALIGN="TOP"><!-- เนื้อหาสำหรับแถบนำทางด้านซ้าย --></TD>
</TR>
</ตาราง>
<เส้นขอบตาราง="0">
<TR>
<TD ALIGN="LEFT" VALIGN="TOP"><!-- เนื้อหาสำหรับเนื้อหาของหน้า --></TD>
</TR>
</TABLE>
2. อย่าลืมปิดแท็กอื่น ๆ
ในตัวอย่างข้างต้น เราสามารถทำให้หน้าเว็บแสดงผลเร็วขึ้นในเบราว์เซอร์ เพียงแค่ปิดแท็ก <TABLE> ก่อนหน้านี้ โดยการเปรียบเทียบ มีแท็กที่คล้ายกันบางแท็กที่มีลักษณะเหมือนกัน
ตัวอย่างเช่น สร้างแท็ก <OPTION> สำหรับกล่องรายการและกล่องคำสั่งผสมและแท็ก <LI> สำหรับรายการ โดยปกติแล้ว โปรแกรมเมอร์ ASP จะเข้าถึงฐานข้อมูลและส่งข้อมูลลงในกล่องรายการหรือกล่องคำสั่งผสมที่สร้างผ่าน <OPTION> ในขณะนี้ แท็กปิด <OPTION> จะถูกเขียนในโค้ด ในเบราว์เซอร์
อย่าใช้โค้ดลักษณะนี้:
Do while not objRS.EOF
strOptionList = strOptionList & "<OPTION VALUE=""" & objRS("ID") &_""">"& _objRS("ชื่อผลิตภัณฑ์")
objRS.MoveNext
Loop
Response.Write "<SELECT SIZE=""1"">" & strOptionList & "</SELECT>"
หากต้องการใช้โค้ดดังนี้:
Do while not objRS.EOF
strOptionList = strOptionList & "<OPTION VALUE=""" & objRS("ID") & _ """>" & objRS("ProductName") & "</OPTION>"
objRS.MoveNext
แบบวนซ้ำ
เขียน "<SELECT SIZE=""1"">" & strOptionList & "</SELECT>"
อย่าใช้โค้ดลักษณะนี้:
<UL>
<LI>แอปเปิ้ล
<LI>ส้ม
<LI>กล้วย
</UL>
ใช้โค้ดดังนี้:
<UL>
<LI>แอปเปิ้ล</LI>
<LI>ส้ม</LI>
<LI>กล้วย</LI>
</UL>
ทีนี้ลองดูว่าเพจของคุณแสดงผลเร็วขึ้นในเบราว์เซอร์หรือไม่?
โปรดอย่าประมาทความสำคัญของการเปลี่ยนแปลงเหล่านี้ในการปรับปรุงประสิทธิภาพของแอปพลิเคชัน ASP บางที ในหนังสือประเภท "เคล็ดลับและคำแนะนำ" หรือสื่อออนไลน์ที่คุณพบ อาจแทบไม่มีการเอ่ยถึงการปรับโค้ด HTML ให้เหมาะสมเพื่อทำให้โปรแกรมของคุณทำงานเร็วขึ้น อย่างไรก็ตามการประยุกต์ใช้เทคโนโลยีเหล่านี้ในทางปฏิบัติสามารถปรับปรุงประสิทธิภาพของโปรแกรมได้อย่างมาก