บทความนี้จะกล่าวถึง เอกสาร.โดเมน ทรัพย์สินโดยละเอียดพร้อมตัวอย่าง
จะเข้าใจคุณสมบัติโดเมนเอกสาร HTML DOM ได้อย่างไร
ชื่อโดเมนสามารถพบได้ผ่านคุณสมบัติ “domain.name” แสดงถึงชื่อโดเมนของ URL ที่โหลดเข้าสู่เว็บไซต์
ไวยากรณ์
เอกสาร. โดเมน
ในที่นี้ “เอกสาร” หมายถึงหน้าเว็บที่จะรู้จักโดเมน
ร ส่งคืนค่า
- คุณสมบัติโดเมนส่งกลับค่า เชือก ที่แสดงถึง ชื่อโดเมนของเซิร์ฟเวอร์ จากที่ที่โหลดเอกสาร
- ทรัพย์สินโดเมนส่งคืน โมฆะ หากเอกสารถูกสร้างขึ้นในหน่วยความจำ
บันทึก: ทรัพย์สินล้าสมัยและไม่แนะนำให้ใช้อีกต่อไป
ตัวอย่าง: การทำความเข้าใจคุณสมบัติ HTML DOM document.domain
ให้เราดูตัวอย่างต่อไปนี้เพื่อดูว่าเราสามารถแยกชื่อโดเมนของเว็บไซต์โดยใช้คุณสมบัติ document.domain ได้อย่างไร:
DOCTYPE html >< html >
< ร่างกาย >
< h1 > ยินดีต้อนรับสู่ Linuxhint กับ h1 >
< ปุ่มบนคลิก = 'getdomain()' > ตรวจสอบ ! ปุ่ม >
< รหัสพี = 'ตรวจสอบ' > พี >
< สคริปต์ >
ฟังก์ชั่น getdomain ( ) {
ปล่อยให้คุณ = เอกสาร. โดเมน ;
เอกสาร. รับ ElementById ( 'ตรวจสอบ' ) . ภายในHTML = และ ;
}
สคริปต์ >
ร่างกาย >
html >
ในตัวอย่างข้างต้น:
- ส่วนหัวที่มีข้อความ “ยินดีต้อนรับสู่ linuxhint.com” ถูกสร้างขึ้นโดยใช้แท็ก h1
- มีการกำหนดปุ่มที่ระบุว่า 'ตรวจสอบ!' และเรียกใช้ฟังก์ชัน JavaScript รับโดเมน() .
- รหัส JavaScript สำหรับ getdomain() ถูกเขียนอยู่ภายในแท็กสคริปต์
- ภายในฟังก์ชัน getdomain() ตัวแปร “y” จะถูกประกาศและกำหนดให้กับคุณสมบัติ “document.domain”
- ฟังก์ชัน “getdomain()” จะถูกทริกเกอร์เมื่อ “Check!” คลิกปุ่มแล้วระบบจะดึงข้อมูลชื่อโดเมน
เอาท์พุต
ภาพประกอบด้านล่างแสดงให้เห็นว่า “ เอกสาร.โดเมน ” คุณสมบัติดึงข้อมูลชื่อโดเมนของเว็บไซต์ได้สำเร็จ:
การเลิกใช้งานคุณสมบัติ document.domain
คุณสมบัติ HTML DOM document.domain กำลังเลิกใช้งานเนื่องจากความไม่สอดคล้องกับการป้องกันความปลอดภัยที่กำหนดโดยนโยบายต้นทางเดียวกัน ทำให้โมเดลพื้นฐานในเบราว์เซอร์ซับซ้อนซึ่งอาจทำให้เกิดปัญหาด้านความปลอดภัยได้
ไม่แนะนำให้ตั้งค่า “document.domain” เนื่องจากการเข้าถึง DOM ของเพจทั้งหมดนั้นมาจากแต่ละโดเมนย่อย นี่ไม่ใช่สิ่งที่เราต้องการเนื่องจากหน้าของเราสามารถเข้าถึงได้โดยหน้าอื่นที่มีส่วนของโฮสต์หรือที่อยู่ IP ที่คล้ายกัน สิ่งนี้สามารถเกิดขึ้นได้แม้ว่าจะมีพอร์ตที่แตกต่างกันก็ตาม สิ่งนี้ทำให้เกิดปัญหาด้านความปลอดภัยที่รุนแรงในกรณีของการแชร์โฮสติ้ง
ใช้อะไรแทนได้บ้าง?
“ หน้าต่าง.postMessage ” สามารถใช้เป็นทางเลือกแทนคุณสมบัติ “document.domain” เพื่อส่งข้อความแบบอะซิงโครนัส สิ่งนี้มีการควบคุมการเข้าถึง ดังนั้นจึงปลอดภัยกว่าการเปิดเผยข้อมูลที่ไม่ปลอดภัยทั้งหมดที่กระทำโดยคุณสมบัติ “document.domain”
บทสรุป
HTML DOM “ เอกสาร.โดเมน ” คุณสมบัติรับโดเมนของเว็บไซต์ที่ถูกโหลดในปัจจุบัน กำลังเลิกใช้งานเนื่องจากไม่สอดคล้องกับการป้องกันความปลอดภัยที่กำหนดโดยนโยบายต้นทางเดียวกัน ดังนั้นจึงมีอีกทางเลือกหนึ่งที่ใช้ Window.postMessage เพื่อส่งข้อความไปยังต้นทางอื่น ในบทความนี้ เราได้กล่าวถึงคุณสมบัติ document.domain ตัวอย่าง การเลิกใช้งาน และทางเลือกอื่นที่เหมาะสม