Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

คุณสมบัติเอกสาร (Document Properties) ที่เข้าถึงได้ด้วย Legacy DOM

Legacy DOM (DOM Level 0) เป็น DOM รุ่นแรก (Netscape 2/3, IE 3) ให้การเข้าถึงเฉพาะคอลเลกชันที่กำหนดไว้ล่วงหน้า ไม่สามารถเข้าถึง Element ทั่วไปได้ นี่คือคุณสมบัติหลัก:

ตารางคุณสมบัติ Document ของ Legacy DOM

#Propertyคำอธิบายตัวอย่างสถานะ
1alinkColorสีของ Link ที่ Active (กำลังถูกคลิก) - Deprecated ใช้ CSS :active แทนdocument.alinkColor = "red"Deprecated
2anchors[]Array ของ Anchor Objects (<a name="..."> หรือ <a id="...">)document.anchors[0], document.anchors["top"]Legacy (ใช้ document.querySelectorAll('a[id]'))
3applets[]Array ของ Applet Objects (<applet>) - Obsolete (Java Applet ตายแล้ว)document.applets[0]Obsolete
4bgColorสีพื้นหลังเอกสาร - Deprecated ใช้ CSS body { background-color } แทนdocument.bgColor = "#ffffff"Deprecated
5cookieString: อ่าน/เขียน Cookie ของเอกสาร - ยังใช้งานอยู่document.cookie = "session=abc"Standard
6domainDomain ของเอกสาร (ใช้ Cross-frame Scripting) - ยังใช้งานอยู่document.domain = "example.com"Standard
7embeds[]Array ของ Embedded Objects (<embed>) - Synonym ของ plugins[]document.embeds[0]Legacy (ใช้ document.querySelectorAll('embed'))
8fgColorสีข้อความพื้นฐาน - Deprecated ใช้ CSS color แทนdocument.fgColor = "black"Deprecated
9forms[]Array ของ Form Objects (<form>) - ยังใช้งานอยู่ (ส่วนหนึ่งของ HTML DOM)document.forms[0], document.forms.loginStandard
10images[]Array ของ Image Objects (<img>) - ยังใช้งานอยู่document.images[0], document.images.logoStandard
11links[]Array ของ Link Objects (<a href>, <area href>) - ยังใช้งานอยู่document.links[0]Standard
12locationLocation Object (URL, Redirect) - ยังใช้งานอยู่ (ส่วนหนึ่งของ Window/Document)document.location.href = "new.html"Standard
13plugins[]Array ของ Plugin Objects (NPAPI Plugins - Obsolete, บราว์เซอร์ใหม่ลบออกแล้ว)document.plugins[0]Obsolete
14referrerReferrer URL - ยังใช้งานอยู่document.referrerStandard
15titleTitle ของเอกสาร - ยังใช้งานอยู่ (ส่วนหนึ่งของ HTML DOM)document.title = "New Title"Standard
16URLURL ของเอกสาร (Read-only) - ยังใช้งานอยู่document.URLStandard
17vlinkColorสี Link ที่ Visited แล้ว - Deprecated ใช้ CSS :visited แทนdocument.vlinkColor = "purple"Deprecated
18lastModifiedวันที่แก้ไขล่าสุด (จาก HTTP Header) - ยังใช้งานอยู่document.lastModifiedStandard

สรุป: คุณสมบัติไหนยังใช้ได้? ไหนต้องเลิกใช้?

กลุ่มPropertiesแนะนำ
ยังมาตรฐาน/ใช้ได้cookie, domain, forms[], images[], links[], location, referrer, title, URL, lastModifiedใช้งานได้ตามมาตรฐาน HTML DOM / W3C DOM
Deprecated (ใช้ CSS แทน)alinkColor, bgColor, fgColor, vlinkColor, linkColorห้ามใช้ในโค้ดใหม่ ใช้ CSS (:link, :visited, :active, body { background, color })
Obsolete (ลบออกแล้ว)applets[], plugins[], embeds[] (ส่วนใหญ่)Java Applet / NPAPI Plugin ตายแล้ว ใช้ <object>, <iframe>, WebAssembly แทน
Legacy Collectionsanchors[], embeds[]ใช้ document.querySelectorAll('a[id]'), document.querySelectorAll('embed') แทน

ตัวอย่าง: ใช้ Legacy Properties ที่ยังคงมาตรฐาน

// Forms & Images - ยังดีและสะดวก
document.forms.login.elements.username.value = "user";
document.images.logo.src = "/new-logo.png";

// Cookie & Domain - จำเป็น
document.cookie = "theme=dark; max-age=31536000";
document.domain = "example.com"; // สำหรับ Subdomain Communication

// Referrer & LastModified - ข้อมูลเมตา
console.log("From:", document.referrer);
console.log("Updated:", document.lastModified);

ข้อสรุป: Legacy DOM ให้คอลเลกชันสำเร็จรูป (forms, images, links) ที่ยังคงเป็นมาตรฐานและสะดวก แต่คุณสมบัติทาง Presentation (Colors) และ Plugin/Applet ต้องเลิกใช้และเปลี่ยนไปใช้ CSS และ Modern Web APIs แทน