การทำงานของ JavaScript

ECMAScript ส่วนหลักของ JavaScript มีความเกี่ยวข้องกับรูปแบบและโอปเจกต์พื้นฐานของภาษานี้;

DOM มีความเกี่ยวข้องกับวิธีและส่วนของการจัดการกับเนื้อหาเว็บปลายโลก;

BOM มีความเกี่ยวข้องกับวิธีและส่วนของการสื่อสารกับเว็บเบราเซอร์。

ECMAScript, DOM และ BOM

ถึงแม้ว่า ECMAScript จะเป็นมาตราฐานที่สำคัญ แต่มันไม่ได้เป็นส่วนเดียวของ JavaScript ที่มีอยู่ นอกจากนี้ มันยังไม่ได้เป็นส่วนเดียวที่มีการมาตราฐาน ในความเป็นจริง การทำงานทั้งหมดของ JavaScript นั้นประกอบด้วยส่วนต่าง ๆ ที่มีอยู่เป็น 3 ส่วน คือ:

JavaScript รวมถึง ECMAScript, DOM และ BOM

ECMAScript

ECMAScript ไม่มีความเชื่อมโยงกับเว็บเบราเซอร์เฉพาะ จริงๆแล้วมันยังไม่ได้กล่าวถึงวิธีการเข้าออกข้อมูลของผู้ใช้ (จุดนี้ต่างกับภาษา C นี้ ที่ต้องพึ่งค่ายาระบบนอกเพื่อทำงานเช่นนี้) แล้วอะไรคือ ECMAScript ตามที่อธิบายในมาตราฐาน ECMA-262 (เล่มที่ 2) ดังนี้:

“ECMAScript สามารถเสนอความสามารถการเขียนโปรแกรมสคริปต์หลักให้แก่สิ่งเก็บระบบที่มีองค์ประกอบแตกต่างกันได้ ดังนั้น ภาษาสคริปต์หลักจึงถูกกำหนดแยกจากสิ่งเก็บระบบที่เฉพาะที่ได้... ...”

เว็บเบราเซอร์เป็นสิ่งที่ใช้เป็นสภาพแห่งความเป็นอยู่สำหรับ ECMAScript แต่มันไม่ใช่สิ่งเดียว ในที่แท้จริงแล้วมีหลายสิ่งที่เป็นสภาพแห่งความเป็นอยู่อื่นๆ ที่สามารถรองรับการปฏิบัติการ ECMAScript ได้ เช่น Nombas ScriptEase และ ActionScript ที่ใช้โดย Macromedia ใน Flash และ Director MX นั้นที่จะแสดงให้เห็นว่า ECMAScript ได้กำหนดอะไรด้วยเมื่ออยู่นอกเว็บเบราเซอร์

ในที่สุด ECMAScript อธิบายเกี่ยวไปด้วย

  • วลี
  • ชนิด
  • คำสั่ง
  • คำสำคัญ
  • คำเซอร์ฟ้ม
  • ตัวคำสั่ง
  • ออปเจกต์

ECMAScript เป็นเพียงการอธิบาย ที่กำหนดสมบัติ วิธีและออปเจกต์ของภาษาสคริปต์ ภาษาอื่นๆ สามารถปฏิบัติการ ECMAScript โดยมีการกำหนดฐานฟังก์ชัน โดยเฉพาะ JavaScript

ECMAScript, JavaScript, ActionScript, ScriptEase

แต่ละเว็บเบราเซอร์มีการปฏิบัติการที่เป็นของตนเองสำหรับ ECMAScript และนั่นจะถูกขยายเพิ่มเติมด้วย DOM และ BOM (จะอธิบายเพิ่มเติมในบทดั้งต่อไป) แน่นอนแล้วยังมีการปฏิบัติการอื่น ๆ ที่เพิ่มเติม ECMAScript อีกด้วย และเพิ่มความสามารถเข้าข้อมูล เช่น Windows Scripting Host (WSH) และ ActionScript ของ Macromedia ใน Flash และ Director MX และ Nombas ScriptEase

1. รุ่น ECMAScript

ECMAScript แบ่งเป็นหลายรุ่นที่ต่างกัน มันถูกกำหนดในมาตรฐาน ECMA-262 ที่เรียกว่า ECMA-262 อย่างเดียวกับมาตรฐานอื่น มาตรฐาน ECMA-262 จะถูกแก้ไขและปรับปรุง ในขณะที่มีการปรับปรุงหลัก จะมีการเผยแพร่มาตรฐานรุ่นใหม่ รุ่นล่าสุดของ ECMA-262 คือ 5.1 ที่ถูกเผยแพร่ในเดือนมิถุนายน 2011

ECMA-262 คาดหมายขึ้นอย่างเดียวกันกับ Netscape JavaScript 1.1 ในทางทฤษฎี แต่มีการลบรายการที่เกี่ยวข้องกับเว็บเบราเซอร์ออกไป นอกจากนี้ยังมีการปรับเปลี่ยนที่เล็กน้อยเช่นกัน โดยต้นตอนนี้ ECMA-262 ต้องการการสนับสนุนมาตรฐาน Unicode (เพื่อสนับสนุนภาษาหลายราษฎร์) โดยเฉพาะ มันต้องการว่าสมบัติของออปเจกต์จะไม่ขึ้นอยู่กับพื้นที่ (Netscape JavaScript 1.1 มีการปฏิบัติการต่างกันของออปเจกต์ตามพื้นที่ เช่น Object ต่างกัน โดยเฉพาะ Date ออปเจกต์ มีการขึ้นอยู่กับพื้นที่) นี่เป็นเหตุให้ JavaScript 1.1 และ 1.2 ไม่ตรงกับมาตรฐาน ECMA-262 ตัวแรกในสาเหตุหลัก

การปรับปรุงที่ส่วนใหญ่ของ ECMA-262 ฉบับที่สองเป็นการปรับปรุงทางบรรณาธิการ การปรับปรุงของมาตราฐานนี้เพื่อที่จะเป็นไปตาม ISO/IEC-16262 อย่างเข้มงวด และไม่มีการเพิ่ม แก้ไข หรือลบเนื้อหาใดๆ ซึ่ง ECMAScript ทั่วไปไม่ได้ทำตามฉบับที่สอง

ECMA-262 ฉบับที่สามเป็นการปรับปรุงที่แท้จริงครั้งแรกของมาตราฐาน มันได้เพิ่มการปรับปรุงเกี่ยวกับการจัดการตัวแปร การระบุข้อผิดพลาดและการแสดงผลตัวเลข รวมทั้งการสนับสนุนตัวแปรประมาณลิขธรรม ประกาศควบคุม การจัดการข้อผิดพลาด try...catch และการปรับปรุงเพื่อที่จะทำให้มาตราฐานนี้เป็นมาตราฐานสากล โดยทั่วไปแล้วมันเป็นสัญญาณที่ระบุว่า ECMAScript กลายเป็นภาษาแพทย์รับรอง

2. อะไรคือความสอดคล้องของ ECMAScript

ใน ECMA-262 มีการระบุความสอดคล้องของ ECMAScript อย่างชัดเจน ภาษาสกรีpt ต้องผ่านสี่กฎ基本原则ข้างต้น

  • ความปฏิบัติตามที่เป็นไปตามมาตราฐานต้องสนับสนุนทุก
  • ความปฏิบัติตามที่เป็นไปตามมาตราฐานต้องสนับสนุนมาตราฐาน Unicode ตัวแปร (UCS)
  • ความปฏิบัติตามที่เป็นไปตามมาตราฐานสามารถเพิ่ม
  • ความปฏิบัติตามที่เป็นไปตามมาตราฐานสามารถสนับสนุน

ทุกความปฏิบัติตาม ECMAScript ต้องเป็นไปตามมาตราฐานดังกล่าว

3. การสนับสนุน ECMAScript ใน Web Browser

มี Netscape Navigator 3.0 ที่มี JavaScript 1.1 ออกมาในปี 1996 แล้ว จากนั้น มาตราฐาน JavaScript 1.1 ได้ถูกยื่นเสนอเป็นร่างมาตราฐานใหม่แก่ EMCA ด้วย JavaScript ที่มีความเสริมขึ้นอย่างรวดเร็ว Netscape จึงยินดีที่จะพัฒนาต่อเวอร์ชั่น 1.2 แต่มีปัญหาคือ ECMA ไม่ได้ยอมรับร่างของ Netscape ไม่นานหลังจาก Netscape Navigator 3.0 ออกมา ไมโครซอฟท์ก็ได้ออก IE 3.0 ซึ่งฉบับนี้มี JScript 1.0 (ชื่อของ JavaScript ที่ไมโครซอฟท์เปลี่ยน) ที่เคยวางแผนว่าจะเทียบเท่า JavaScript 1.1 แต่เนื่องจากความขาดแคลนเอกสารและคุณสมบัติที่ซ้ำกันบางอย่าง JScript 1.0 ไม่ได้มีคุณสมบัติที่ดีเท่า JavaScript 1.1

ก่อนที่ ECMA-262 รุ่นแรกจะถูกจัดทำเสร็จ การปล่อย Netscape Navigator 4.0 ที่มี JavaScript 1.2 คือปี 1997 และในช่วงหลังปีนั้น มาตรฐาน ECMA-262 ได้ถูกยอมรับและมีการกำหนดมาตรฐาน ดังนั้น JavaScript 1.2 ไม่ได้สามารถปฏิบัติตาม ECMAScript รุ่นแรก แม้ว่า ECMAScript จะควรจะมีฐานมาจาก JavaScript 1.1

ขั้นต่อไปของ JScript คือ JScript 3.0 ที่ได้เพิ่มใน IE 4.0 (เวอร์ชั่น 2.0 ได้ปล่อยมาพร้อมกับ IIS 3.0 แต่ไม่ได้ใส่ในเว็บเบราเซอร์) ไม่ว่า Microsoft จะโฆษณา JScript 3.0 ว่าเป็นภาษาสคริปต์ที่สมบูรณ์ตามมาตรฐาน ECMA แรกของโลก แต่ตอนนั้น ECMA-262 ยังไม่ได้จัดทำเสร็จ ดังนั้น JScript 3.0 ก็ตกเป็นเหยื่อดังเดียวกับ JavaScript 1.2 ไม่ได้ปฏิบัติตามมาตรฐาน ECMAScript สุดท้าย

Netscape ได้เลือกที่จะปรับปรุงการปฏิบัติการ JavaScript ของตนเองใน Netscape Navigator 4.06 โดย JavaScript 1.3 ทำให้ Netscape สามารถปฏิบัติตาม ECMAScript รุ่นแรกได้ทั้งหมด และเพิ่มการสนับสนุนมาตรฐาน Unicode และทำให้ทุกโอบเจกต์ที่มีคุณสมบัติใหม่ที่ได้นำเสนอใน JavaScript 1.2 ได้ทำงานเดียวกันบนแผงขายทุกๆระบบ

เมื่อ Netscape ได้เปิดเผยโค้ดต้นตอนของตนเองให้ทุกคนได้เห็นทาง Mozilla โปรเจกต์ มีแผนที่จะใส่ JavaScript 1.4 ไว้ใน Netscape Navigator 5.0 แต่ตัดสินใจก้าวหน้ามากเกินไป - ให้ทำโค้ดของ Netscape ตั้งต้นใหม่ ทำลายงานดังกล่าว จึงมีการปล่อย JavaScript 1.4 มาเป็นภาษาสคริปต์บนเซิร์ฟเวอร์ของ Netscape Enterprise Server และไม่ได้ใส่ในเว็บเบราเซอร์ต่อไป

ในปัจจุบัน ทั้งหมดเว็บเบราเซอร์ที่เป็นหลักตามที่ยอมรับกันตาม ECMA-262 รุ่นที่สาม

ตารางด้านล่างนี้แสดงรายการสนับสนุน ECMAScript ของส่วนใหญ่ของเบราเซอร์ Web ที่เปิดใช้งาน

บราวเซอร์ ความสามารถเชื่อมต่อกับ DOM
Netscape Navigator 2.0 -
Netscape Navigator 3.0 -
Netscape Navigator 4.0 - 4.05 -
Netscape Navigator 4.06 - 4.79 Edition 1
Netscape 6.0+ (Mozilla 0.6.0+) Edition 3
Internet Explorer 3.0 -
Internet Explorer 4.0 -
Internet Explorer 5.0 Edition 1
Internet Explorer 5.5+ Edition 3
Opera 6.0 - 7.1 Edition 2
Opera 7.2+ Edition 3
Safari 1.0+/Konqueror ~ 2.0+ Edition 3

DOM

DOM (Document Object Model) คือ API (Application Programming Interface) ของ HTML และ XML โดย DOM จะแผนหน้าเว็บทั้งหมดเป็นเอกสารที่ประกอบด้วยระดับของตัวเลือก HTML หรือ XML ทุกส่วนของหน้าเว็บหนึ่งเป็นสาขาย่อยของตัวเลือก โปรดคิดถึงหน้าเว็บ HTML ต่อไปนี้

<html>
  <head>
    <title>Sample Page</title>
  </head>
  <body>
    <p>hello world!</p>
  </body>
</html>

รหัสนี้สามารถวาดเป็นต้นไม้ระดับของ DOM ได้

โครงสร้างระดับของตัวเลือก DOM

DOM สร้างต้นไม้เพื่อแสดงแบบทางต้นฉบับของเอกสาร ทำให้นักพัฒนามีความควบคุมที่ไม่เคยมีมาก่อนเห็นในเนื้อหาและโครงสร้างของเอกสาร ด้วย DOM API นักพัฒนาสามารถลบ เพิ่ม และแทนที่ตัวเลือกง่ายๆ

1. ทำไม DOM ทำไมจำเป็นไม่น่าจะละเลย

ตั้งแต่ IE 4.0 และ Netscape Navigator 4.0 ที่สนับสนุน DHTML (Dynamic HTML) ต่างๆ นักพัฒนาสามารถเปลี่ยนแปลงรูปแบบและเนื้อหาของเว็บไซต์โดยไม่ต้องโหลดเว็บไซต์อีกครั้ง นี่เป็นการกระโดดหน้าใหญ่ของเทคโนโลยี Web แต่ก็มีปัญหามากมายเช่นกัน Netscape และ Microsoft ได้พัฒนา DHTML ของตนเอง ซึ่งทำให้ยุคที่นักพัฒนาเว็บไซต์สามารถเขียนเพียงหนึ่งเว็บไซต์เดียวที่สามารถเข้าถึงได้ทุกเบราเซอร์จบลง

อุตสาหกรรมตกลงว่าต้องทำอะไรบางอย่างเพื่อที่จะรักษาคุณสมบัติของ Web ที่สามารถใช้ได้ทุกเครื่องคอมพิวเตอร์ พวกเขากังวลว่าหากปล่อย Netscape และบริษัท Microsoft ทำตามนี้ Web จะแบ่งเป็นสองส่วนที่แยกต่างกัน แต่ละส่วนสามารถใช้ได้เพียงแบบแบบเดียวของเบราเซอร์เท่านั้น ดังนั้น กลุ่มที่รับผิดชอบกำหนดมาตรฐานการสื่อสารของ Web คือ W3C (World Wide Web Consortium) ก็เริ่มจัดทำ DOM

2. DOM ของระดับต่างๆ

DOM Level 1 ถูกเสนอโดย W3C ในเดือนตุลาคม 1998 มีสองโมดูล คือ DOM Core และ DOM HTML โมดูลแรกนี้เปิดเผยตัวเอกสารที่มีโครงสร้างของ XML ที่สามารถเข้าถึงและปฏิบัติกรรมเฉพาะบางส่วนของเอกสาร โมดูลที่สองนี้เพิ่มเข้าไปด้วยส่วนของมาตรฐาน HTML ซึ่งเพิ่มความสามารถของ DOM Core

จำเป็นที่จะระวังว่า DOM ไม่ได้เป็นสิ่งเดียวของ JavaScript อย่างไร ในทางประจำวิชาของเรื่อง หลายภาษาอื่นๆ ก็ได้รับการทำเป็นของตนเอง อย่างไรก็ตาม DOM ในเว็บเบราเซอร์นั้นได้ทำเป็น ECMAScript และเป็นส่วนหนึ่งของภาษา JavaScript

DOM Level 1 แค่เป้าหมายหนึ่ง ซึ่งคือแผนจัดเรียงของเอกสาร แต่เป้าหมายของ DOM Level 2 ก็มากกว่านั้น การขยายของ DOM ของ DOM ต้นตอนเพิ่มเติมความสามารถในด้านเหตุการณ์ปฏิบัติกรรม (มีการสนับสนุนมากโดย DHTML) ระยะ วิเคราะห์ (วิธีที่ทำงานกับเอกสาร DOM ซึ่งสามารถทำได้หลายครั้ง) และการสนับสนุน CSS (ตารางแบบสไตล์เครื่องหมาย) โดยการเพิ่มเข้าไปด้วยส่วนของตัวเอกสาร และ DOM Core ต้นตอนที่ขึ้นมาด้วย Level 1 ก็ได้รับการเพิ่มการสนับสนุนเพื่อ XML นามสเปซ

DOM Level 2 ได้เพิ่มโมดูล DOM โมดูลใหม่เพื่อจัดการกับรูปแบบของรายละเอียดใหม่

  • DOM ตัวมอง - บรรยายรายละเอียดของส่วนของรายละเอียดที่ตามร่วมกันของตัวมองที่มีอยู่ในเอกสาร (ก่อนและหลังจากที่เอกสารถูกสไตล์ด้วย CSS)
  • DOM กิจกรรม - บรรยายรายละเอียดของส่วนของรายละเอียดที่เกี่ยวกับกิจกรรม
  • DOM สไตล์ - บรรยายรายละเอียดของส่วนของรายละเอียดที่จัดการกับสไตล์ของ CSS
  • DOM วิเคราะห์และระยะ - บรรยายรายละเอียดของส่วนของรายละเอียดเพื่อวิเคราะห์และปฏิบัติกรรมต่อต้นไม้เอกสาร

DOM Level 3 ได้เพิ่มวิธีที่สามารถโหลดและรักษาเอกสารอย่างสมบูรณ์ (ซึ่งมีในโมดูล DOM Load and Save) และวิธีที่สามารถตรวจสอบเอกสาร (DOM Validation) ซึ่งมีผลให้ DOM ขยายตัวเพิ่มเติม ใน Level 3 โมดูล DOM Core ได้รับการขยายตัวเพื่อสนับสนุนเฉพาะคุณสมบัติของ XML 1.0 ทั้งหมด รวมถึง XML Infoset, XPath และ XML Base

ในขณะที่เรียนเรื่อง DOM อาจจะมีคนอ้างถึง DOM Level 0 ต้องระวังว่าไม่มีมาตรฐาน DOM Level 0 ตรงนี้ เป็นแค่จุดอ้างอิงประวัติศาสตร์ของ DOM (DOM Level 0 หมายถึง DHTML ที่สนับสนุนโดย IE 4.0 และ Netscape Navigator 4.0)

3. DOM อื่นๆ

นอกจาก DOM Core และ DOM HTML แล้ว ยังมีภาษาอื่นๆที่เผยแพร่มาตรฐาน DOM ของตนเอง ซึ่งทุกภาษาต่างก็หลอดขึ้นมาจาก XML และแต่ละ DOM ก็เพิ่มเติมความสามารถและส่วนของมาตรฐานเฉพาะของภาษาตนเอง

  • ภาษาที่ใช้สำหรับการสร้างกราฟิกที่สามารถย่อยและขยาย (SVG) 1.0
  • ภาษาที่ใช้สำหรับการเขียนทางดิจิทัล (MathML) 1.0
  • ภาษาสร้างสื่อสื่อสารกันทางสื่อ (SMIL)

หมายเหตุ:ถ้าต้องการเรียนรู้เรื่องที่เกี่ยวข้องมากยิ่งขึ้น โปรดเข้าชม CodeW3C ของเรา SMIL คู่มืออบรม และ SVG คู่มืออบรม

นอกจากนี้ ภาษาอื่นๆ ก็ได้พัฒนาการปฏิบัติ DOM ของตนเอง เช่น ภาษา XUL ของ Mozilla แต่เพียงภาษาที่ระบุไว้ด้านบนเท่านั้นที่เป็นมาตรฐานที่แนะนำโดย W3C

4. ความสามารถเชื่อมต่อกับ DOM ในบราวเซอร์

DOM มีมาตรฐานก่อนที่จะถูกบราวเซอร์สามารถทำการปฏิบัติได้ การทดสอบครั้งแรกของ DOM โดย IE คือในรุ่น 5.0 แต่จริงๆแล้วเริ่มจริงจังใช้ DOM คือในรุ่น 5.5 โดย IE 5.5 ได้ทำการปฏิบัติ DOM Level 1 จากนั้นมาโดย IE ไม่ได้เพิ่มการปฏิบัติ DOM ใหม่

Netscape ได้เริ่มใช้ DOM ตั้งแต่ Netscape 6 (Mozilla 0.6.0) ขึ้นไป ในขณะที่ Mozilla มีความสามารถเชื่อมต่อกับ DOM ที่ดีที่สุด ด้วยการทำการสำเร็จทั้ง Level 1 และเกือบทั้งหมดของ Level 2 และบางส่วนของ Level 3 (เป้าหมายของทีมพัฒนา Mozilla คือการสร้างบราวเซอร์ที่สามารถเชื่อมต่อกับมาตรฐาน 100% ของมาตรฐาน และงานของพวกเขาได้รับการตอบรับกลับมาได้)

Opera ต้องใช้ DOM ในรุ่น 7.0 ขึ้นไป และ Safari ได้ทำการปฏิบัติ DOM Level 1 ส่วนใหญ่ พวกนั้นก็เหมือนกันกับ IE 5.5 ในระดับเดียวกัน และบางกรณีมีความสามารถที่ยิ่งกว่า IE 5.5 อยู่เช่นกัน แต่ถึงแม้ว่าบราวเซอร์ทุกตัวเพิ่งเริ่มสนับสนุน DOM ยังน้อยกว่า Mozilla มาก ตารางด้านล่างแสดงความสามารถเชื่อมต่อกับ DOM ของบราวเซอร์ที่ใช้งานมากที่สุด

บราวเซอร์ ความสามารถเชื่อมต่อกับ DOM
Netscape Navigator 1.0 - 4.x -
Netscape 6.0+ (Mozilla 0.6.0+) Level 1, Level 2, Level 3 (บางส่วน)
IE 2.0 - 4.x -
IE 5.0 Level 1 (ขั้นต่ำ)
IE 5.5+ Level 1 (เกือบทั้งหมด)
Opera 1.0 - 6.0 -
Opera 7.0+ Level 1 (เกือบทั้งหมด) และ Level 2 (บางส่วน)
Safari 1.0+/Konqueror ~ 2.0+ Level 1

หมายเหตุ:ถ้าต้องการเรียนรู้เรื่องความรู้เกี่ยวกับ DOM มากยิ่งขึ้น โปรดเข้าชม CodeW3C ของเรา HTML DOM คู่มืออบรม และ XML DOM คู่มืออบรม

BOM

IE 3.0 และ Netscape Navigator 3.0 ได้เสนอคุณสมบัติ - BOM (Browser Object Model) ซึ่งสามารถเข้าถึงและปฏิบัติต่อหน้าต่างเบราซ์ ผู้พัฒนาสามารถเคลื่อนหน้าหน้าต่าง เปลี่ยนข้อความในแถวสถานะ และปฏิบัติการอื่นๆ ที่ไม่มีความเกี่ยวข้องกับเนื้อหาของหน้าเว็บ ความแตกต่างของ BOM ที่มีความน่าสงสัยและมีความยอมรับอย่างสูง คือมันเป็นส่วนหนึ่งของ JavaScript แต่ไม่มีมาตรฐานที่เกี่ยวข้อง

BOM จัดการหน้าต่างเบราซ์และเฟรม แต่ทั่วไปแล้ว การขยาย JavaScript ที่เฉพาะเจาะจงของเบราซ์สามารถถือว่าเป็นส่วนหนึ่งของ BOM ที่นี้ การขยายนี้รวมถึง:

  • ปรากฎหน้าต่างเบราซ์ใหม่
  • การเคลื่อนไหว ปิดหน้าต่างเบราซ์และปรับขนาดหน้าต่าง
  • ตัวแปลง Location ที่ให้ข้อมูลเบราซ์เซอร์
  • ตัวแปลง Screen ที่ให้ข้อมูลความละตายและการแสดงผลของหน้าจอผู้ใช้
  • การสนับสนุน cookie
  • IE ขยาย BOM ด้วยการเพิ่มหมวด ActiveXObject ซึ่งสามารถใช้ JavaScript ที่จะสร้างตัวแปลง ActiveX

เนื่องจากไม่มีมาตรฐาน BOM ที่เกี่ยวข้อง แต่ละเบราเซอร์มี BOM ของตัวเอง มีมาตรฐานที่เป็นที่ยอมรับบางอย่าง เช่น มีตัวแปลงหน้าต่างและตัวแปลงการเน้นทาง แต่แต่ละเบราเซอร์สามารถกำหนดคุณสมบัติและกระบวนการของตัวแปลงเหล่านี้หรือตัวแปลงอื่นๆ ตามตนเอง

ดูเพิ่มเติมที่