เน็ตสเคปก็ได้ เอ็กซ์พลอเรอร์ก็ดี
บ่อยครั้งที่สิ่งที่คุณเห็นหรือสิ่งที่เป็นไปได้ในบราวเซอร์ตัวหนึ่ง กลับแปรเปลี่ยนไปเป็นอีกอย่างเมื่อไปอยู่ ในบราวเซอร์อีกตัว คุณจึงควรยึดหลักต่อไปนี้ในการออกแบบเว็บเพจของบคุณเพื่อป้องกันปัญหาดังกล่าว
Dynamic HTML
ทั้งบราวเซอร์เอ็กซ์พลอเรอร์ 4.0 และเนวิเกเตอร์ 4.0 ต่างก็มี Document Object Models สำหรับ การใช้ องค์ประกอบต่าง ๆ ของเว็บเพจผ่านทางภาษาสคริปต์ อย่างเช่น จาวาสคริปต์ แต่ปัญหานั้นอยู่ตรงที่ บราวเซอร์ จากสองบริษัทต่างมี object models เป็นของตัวเอง ทางออกก็คือ การทำความเข้าใจ ความแตกต่างนั้น เพื่อจะได้สร้างสคริปต์ ที่สามารถทำงานได้ กับบราวเซอร์ทั้งคู่
ในเอ็กซ์พลอเรอร์ 4.0 คุณสามารถกำหนดสคริปต์ให้กับทุก ๆ องค์ประกอบใน HTML รวมทั้ง style-sheet properties ด้วย โดยที่มันจะมองทุก ๆ องค์ประกอบเป็น object ที่อยู่ใน document.all ซึ่งคุณจะใช้องค์ประกอบเหล่านี้ได้โดยการระบุ index หรือชื่อ (name) หรือ ID ของมัน ยกตัวอย่างเช่น ชุดคำสั่งต่อไปนี้จะแสดงชื่อแท็กทั้งหมดที่มีอยู่ในเว็บเพจออกมาให้เห็น
for (i=0; i<document.all.length; i++) { document.write(document.all[i].tagName + "\n"); }
ส่วนคำสั่งต่อไปนี้เป็นการใช้แท็กโดยระบุ ID ของมัน
การเปลี่ยนแปลงคุณสมบัติใด ๆ ของอ็อปเจ็กต์ในเอ็กซ์พลอเรอร์ 4.0 จะปรากฎให้เห็นทันที ส่วนในเนวิเกเตอร์ 4.0 คุณจะใช้สคริปต์ เรียกใช้องค์ประกอบของ HTML ได้อย่างจำกัด เช่น เลเยอร์ เป็นต้น โดยที่เลเยอร์ที่เรียกใช้ได้ จะเป็นบริเวณ ที่กำหนด โดยแท็ก < LAYER > และบริเวณ ที่กำหนดโดย Cascading Style Ssheet (CSS) ซึ่งคุณจะใช้เลเย่อร์ได้โดยการระบุ index หรือชื่อ (name) หรือ ID ของมัน
for (i=0; i<document.layers.length; i++) { document.write(document.layers[i]).name + "\n"); } ส่วนคำสั่งต่อไปนี้เป็นการใช้เลเยอร์โดยระบุ ID ของมัน
Document.write("myLayer visibility is:" + document.layers ['mylayer'] .visibility);
และเนวิเตอร์ 4.0 ก็เช่นเดียวกับเอ็กซ์พลอเรอร์ 4.0 คือมันจะแสดงการเปลี่ยนแปลงคุณสมบัติของเลเยอร์ ให้เห็นทันที เมื่อทราบรายเอียดดังนี้แล้ว คุณก็สามารถเขียนสคริปต์ที่ใช้ได้กับทั้งสองบราวเซอร์ได้ โดยการ กำหนดตัวแปร 2 ตัวที่เก็บค่าที่แตกต่างกันระหว่างบราวเซอร์ เพื่อให้สคริปต์นำไปใช้ตามประเภทของ บราวเซอร์ ที่เรียกสคริปต์ขึ้นมาทำงาน ดังนี้
if (navigator.appName == "Netcape") { layerRef="document.layers"; styleRef=""; } else { layerRef ="document.all"; styleRef=".style"; }
เมื่อคุณกำหนดไว้เช่นี้แล้ว คุณก็สามารถใช้สคริปต์เพียงชุดเดียวสำหรับบราวเซอร์ 2 ตัว ยกตัวอย่าง คำสั่งที่ทดสอบองค์ประกอบที่ชื่อ myLayer ดังนี้
|
เกร็ดเล็กเกร็ดน้อยกับตัวอักษรใน HTML
การออกแบบหน้าตาและจัดวางเนื้อความด้วย HTML ไม่ใช้เรื่องง่าย เพราะผู้ดูเว็บเพจสามารถกำหนด ลักษณะตัวอักษร ในบราวเซอร์ได้ตามใจชอบ นักออกแบบเว็บ จึงไม่อาจแน่ใจได้เลยว่า ผู้ดูจะได้เห็น เว็บเพจที่สวยงามตามที่นักออกแบบเว็บคิดฝันไว้หรือไม่
แต่ก็ยังมีอีกหลายสิ่งที่คุณสามารถทำได้ อย่าลืมแท็กพื้นฐานอย่าง < H1 > ถึง < H6 > สำหรับข้อความ พาดหัว , < BIG > และ < SMALL > ที่ช่วยขยายหรือหดคำหรือข้อความ , < SUP > และ < SUB > สำหรับยกตัวยกและตัวห้อย , < STRONG > (หรือ < B > ) เพื่อทำตัวหนา และ < EM > (หรือ < I > ) เพื่อทำตัวเอน
นอกจากนั้น คุณยังสามารถกำหนดคุณสมบัติของตัวอักษรได้อีกหลายอย่างในแท็ก < BODY> เช่น สีสัน และความเป็นลิงก์ และยังมีแท็ก < FONT > ใช้กำหนดขนาด , สี และรูปตัวอักษรให้กับเนื้อความอีกด้วย เทคนิคอื่น ๆ
|