ການດໍາເນີນ JavaScript
- ຫນ້າຫນັງກ່ອນ ປະຫວັດສາດ JavaScript
- ຫນ້າຫນັງ ວິນຍານ ECMAScript
JavaScript 的核心 ECMAScript 描述了该语言的语法和基本对象;
DOM 描述了处理网页内容的方法和接口;
BOM 描述了与浏览器进行交互的方法和接口。
ECMAScript, DOM ແລະ BOM
ຖ້າ ECMAScript ເປັນມາດຕະຖານທີ່ສຳຄັນແລ້ວນັ້ນບໍ່ແມ່ນພຽງພາກສ່ວນດຽວຂອງ JavaScript ແຕ່ຍັງບໍ່ແມ່ນພຽງພາກສ່ວນທີ່ຖືກປະກອບການມາດຕະຖານຢ່າງດຽວ. ແຕ່ລະມາດຕະຖານ JavaScript ຄົງທີ່ສົມບູນຕົວແທນລວມມີສາມສ່ວນທີ່ສາມາດພົບຄື:

ECMAScript
ECMAScript ບໍ່ມີພັນກັບບັນດາບາຣ໌ສາຍບາດເບື້ອງໃດກໍ່ຕາມຢ່າງໃດກໍ່ຕາມມັນບໍ່ໄດ້ກ່າວເຖິງວິທີການສາຍລົງຂອງຜູ້ນຳໃຊ້ຫຼືອອກລົງຫຼືບໍ່(ນີ້ຕັດສິນວ່າກັບ C ທີ່ຕ້ອງພັດທະນາຫຼັກການສາຍລົງຈາກຫຼັກການກະຈາຍກັບການໃຊ້ຫຼັກການຫຼາຍຫຼາຍ). ສາຍລັກ ECMAScript ແມ່ນຫຍັງ? ການອະທິບາຍຂອງມາດຕະຖານ ECMA-262 (ບົດທີ 2) ແມ່ນ:...
“ECMAScript ສາມາດຕອບອານຸສາວະລະນາການຄວບຄຸມບົດບອກຫຼາຍຊະນິດຮາກກາຍລະຫວ່າງທີ່ຫຼາຍຫຼາຍ... ...”
Web Browser ຈະເປັນສະຖານທີ່ພັກງານ ECMAScript, ແຕ່ວ່າມັນບໍ່ແມ່ນພຽງແຕ່ສະຖານທີ່ພັກງານດຽວ. ຄວາມຈິງ, ມີຫຼາຍສະຖານທີ່ອື່ນໆທີ່ສາມາດມີ ECMAScript Implementation (ເຊັ່ນ Nombas ScriptEase, ແລະ ActionScript ທີ່ໃຊ້ໃນ Flash ແລະ Director MX ຂອງ Macromedia). ນັ້ນ ECMAScript ມີສິ່ງຫຼັງຈາກ Browser ທີ່ຕັ້ງການຫຼັງຈາກນັ້ນ?
ກ່າວຫຼັກ, ECMAScript ອະທິບາຍກັບສິ່ງທີ່ຫຼາຍຢ່າງຫຼາຍຫຼັງຈາກນັ້ນ:
- ຄຳນີ້
- ຊັບສັນ
- ຄຳສັ່ງ
- ຄຳຫຼັກ
- ຄຳເວລາປະກອບ
- ຄົນປະສົມ
- ໂອກາດ
ECMAScript ພຽງແຕ່ເປັນການອະທິບາຍ, ທີ່ອະນຸຍາດຂອງພາສາສັນຍາລັກສະນະ, ກົດລະບຽບ ແລະ ໂອກາດ. ບັນດາພາສາອື່ນສາມາດພິຈາລະນາ ECMAScript ເພື່ອສະໜັບສະໜູນການສະໜັບສະໜູນການດຳເນີນ, JavaScript ຈະເປັນຄຳວ່າງ.

ແຕ່ລະບຸກຄົນມີການພິຈາລະນາໂອກາດ ECMAScript ຂອງພວກເຂົາເອງ, ແລະການພິຈາລະນານັ້ນຈະຖືກຂະຫຍາຍ, ບັນຈຸ DOM ແລະ BOM (ຈະຖືກເບິ່ງຫຼາຍຂຶ້ນໃນບາງວັດສະດຸ). ແຕ່ຍັງມີບັນດາພິຈາລະນາອັນດຽວເພື່ອອະນຸຍາດ ECMAScript, ເຊັ່ນ Windows Scripting Host (WSH), ActionScript ຂອງ Macromedia ໃນ Flash ແລະ Director MX, ແລະ Nombas ScriptEase.
1. ສະບັນຍັດ ECMAScript
ECMAScript ຖືກແບ່ງເປັນຫຼາຍສະບັນຍັດທີ່ຕ່າງກັນ, ມັນຖືກອະນຸຍາດໃນມາດຕະຖານ ECMA-262. ອັນຈະຖືກດັດແກ້ແລະປັບປຸງເປັນຕົວອະນຸຍາດອັນດຽວ. ເມື່ອມີການປັບປຸງຫຼັກ, ຈະຖືກປ່ອຍອະນຸຍາດຂອງມາດຕະຖານບັນຍັດໃໝ່. ສະບັນຍັດ ECMA-262 ສະບັນຍັດທີ່ຫຼາຍຢ່າງຫຼາຍແມ່ນ 5.1, ທີ່ຖືກປ່ອຍອະນຸຍາດໃນເດືອນມີຖຸນາປີ 2011.
ອີງຕາມຂັ້ນຕອນທຳອິດຂອງ ECMA-262 ມັນຈະຄືກັບ JavaScript 1.1 ຂອງ Netscape ແຕ່ວ່າໄດ້ລຶບລ້າງລາຍການທີ່ກ່ຽວກັບການຄົ້ນຫາທາງບຸກຄົນໄດ້ຫຼາຍຢ່າງນ້ອຍອີກຫຼາຍຢ່າງ. ສຳລັບຄັ້ງທຳອິດຂອງ ECMA-262 ມັນຕ້ອງການການສະໜັບສະໜູນ Unicode Standard (ເພື່ອສະໜັບສະໜູນພາສາຫຼາຍຢ່າງ). ອີກຢ່າງໜຶ່ງມັນຕ້ອງການວ່າບັນດາໂອກາດຈະບໍ່ມີຄວາມຈິງຂອງພາສາ (Netscape JavaScript 1.1 ມີການພິຈາລະນາໂອກາດທີ່ຫຼາຍຢ່າງຫຼາຍ, ເຊັ່ນໂອກາດ Date, ທີ່ຂຶ້ນກັບພາສາ). ນີ້ແມ່ນສາເຫດຫຼັກທີ່ JavaScript 1.1 ແລະ 1.2 ບໍ່ສາມາດຕາມຄົບລະບຽບ ECMA-262 ການທຳອິດ.
ECMA-262 的第二版大部分更新本质上是编辑性的。这次标准的更新是为了与 ISO/IEC-16262 的严格一致,也并没有特别添加、更改和删除内容。ECMAScript 一般不会遵守第二版。
ECMA-262 第三版是该标准第一次真正的更新。它提供了对字符串处理、错误定义和数值输出的更新。同时,它还增加了正则表达式、新的控制语句、try...catch 异常处理的支持,以及一些为使标准国际化而做的小改动。一般来说,它标志着 ECMAScript 成为一种真正的编程语言。
2. ການສະໜັບສະໜູນ ECMAScript
ໃນ ECMA-262, ECMA-262 ທີ່ພົບມູນມິຕິການມີການກໍານົດຢ່າງຊັດເຈນ. ໜຶ່ງພາສາລະບົບບັນດາຄອບຄອງຕ້ອງຈະຕາມພື້ນຖານທີ່ກໍານົດດັ່ງກ່າວນີ້:
- ການພັດທະນາທີ່ພົບມູນມິຕິການຕ້ອງທັນຈະສະໜັບສະໜູນທຸກ “ຊະນະຄະດີ ຄຸນນະພາບ ວັດຖຸ ໂອລເຈັກ ທີ່ປະສົມພາບ ແລະ ປະສົມພາບຕ່າງໆ” ແລະ “ພາສາລະບົບ ແລະ ຄວາມໝາຍ” ທີ່ຖືກກໍານົດໃນ ECMA-262 (ECMA-262, ໜ້າທີ່ 1).
- ການພັດທະນາທີ່ພົບມູນມິຕິການຕ້ອງທັນຈະສະໜັບສະໜູນມູນມິຕິການ Unicode 字符标准(UCS).
- ການພັດທະນາທີ່ພົບມູນມິຕິການຈະສາມາດສະໜັບສະໜູນ “ຊະນະຄະດີຕ່າງໆ ຄຸນນະພາບ ວັດຖຸ ໂອລເຈັກ ທີ່ປະສົມພາບ ແລະ ປະສົມພາບຕ່າງໆ” (ECMA-262 ທີ່ກໍານົດວ່າຊະນະຄະດີໃຫມ່ ແລະ ປະສົມພາບຕ່າງໆຂອງຊະນະຄະດີ).
- ການພັດທະນາທີ່ພົບມູນມິຕິການຈະສາມາດສະໜັບສະໜູນ “ພາສາລະບົບ ແລະຄຼາມຂອງຊະນະຄະດີ” (ຄວາມໝາຍວ່າສາມາດປ່ຽນຫຼືຂະຫຍາຍການສະໜັບສະໜູນຄຼາມຂອງຊະນະຄະດີໄດ້) ທີ່ບໍ່ໄດ້ຖືກກໍານົດໃນ ECMA-262.
ທຸກການພັດທະນາ ECMAScript ຕ້ອງທັນຈະພົບມູນມິຕິການດັ່ງກ່າວນີ້.
3. ການສະໜັບສະໜູນ ECMAScript ໃນ Web Browser
ການປ່ອຍໄຟຂອງ Netscape Navigator 3.0 ທີ່ມີ JavaScript 1.1 ໃນປີ 1996. ຕໍ່ມາການນຳໃຊ້ຂອງ JavaScript 1.1 ໄດ້ກາຍເປັນອິດທິພົນທີ່ຍິ່ງຫຼາຍໃຫ້ Netscape ໄດ້ຕັ້ງໃຈທີ່ຈະພັດທະນາສະບັບ 1.2. ແຕ່ມີບັນຫາຫນື່ງທີ່ ECMA ບໍ່ໄດ້ຍອມຮັບແຜນຟອຍຂອງ Netscape. ພຽງແຕ່ຫຼັງຈາກ Netscape Navigator 3.0 ໄດ້ປ່ອຍໄຟບໍ່ດົນຫນື່ງ Netscape ໄດ້ປ່ອຍໄຟ IE 3.0. ສະບັບຂອງ IE ມີ JScript 1.0 (ຊື່ທີ່ Microsoft ໃຊ້ສຳລັບການພັດທະນາ 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 Standard. ໃນຂະນະທີ່ ECMA-262 ຍັງບໍ່ທັນມີການປິດບັນຍັດສຸດທ້າຍແລ້ວ JScript 3.0 ໄດ້ຮັບຄວາມຍາດທີ່ຈະຮັບການຕ້ອງສົງສາກັບ JavaScript 1.2 ແຕ່ຍັງບໍ່ມີການຮັບຮອງຕາມ ECMA Script Standard ທີ່ສຸດທ້າຍ.
Netscape ໄດ້ເລື່ອງການອັບເຂົ້າທີ່ຫຼາຍຂອງ JavaScript 1.3 ໃນ Netscape Navigator 4.06. JavaScript 1.3 ໄດ້ຮັບການການຮັບຮອງຕາມ ECMAScript ສະບັບທີ່ທຳມະດາ. Netscape ໄດ້ເຂົ້າຮ່ວມກັບສະໜັບສະໜູນ Unicode Standard ແລະໄດ້ຮັບຄວາມອົດທົນທັງໝົດຂອງເປັນບັນດາໂອບາວທີ່ໄດ້ນຳເຂົ້າໃນ JavaScript 1.2 ແລະໄດ້ຮັບຄວາມອົດທົນຂອງລະບົບປະຕິບັດພາບບັນດາລະບົບ.
ເມື່ອ Netscape ໄດ້ເປີດເຜີຍລະບົບລະບຽບແຫຼ່ງຂອງຕົນໃຫ້ສາທາລະນະຂອງ Mozilla Project ໂດຍເປັນການວາງແຜນ JavaScript 1.4 ຈະນຳເຂົ້າໄປໃນ Netscape Navigator 5.0. ແຕ່ວ່າການຕັດສິນໃຈທີ່ຂັດແຍ່ງ - ຕ້ອງຈະອອກແບບລະບົບ Netscape ຈາກບໍ່ມີຕົ້ນມາໃດໆ ໄດ້ທຳລາຍວຽກນີ້. JavaScript 1.4 ໄດ້ຖືກປ່ອຍອອກໃຫ້ເປັນພາສາສາຍເຊີເວີ້ທີ່ໃຊ້ໃນ Netscape Enterprise Server ແລະບໍ່ໄດ້ນຳເຂົ້າໃນບັນດາເຄື່ອງບັນທຶກເວັບໄຊອີກ.
ປະຈຸບັນທຸກໆເຄື່ອງບັນທຶກເວັບໄຊທົ່ວໄປກຳລັງຖືກການຮັບຮອງຕາມ ECMA-262 ສະບັບທີ່ສາມ.
下面的表格列出了大部分流行的 Web 浏览器中的 ECMAScript 支持:
ສະຫຼາດການຄົ້ນຫາ | ການສາມາດປະສົມປະສານ DOM |
---|---|
Netscape Navigator 2.0 | - |
Netscape Navigator 3.0 | - |
Netscape Navigator 4.0 - 4.05 | - |
Netscape Navigator 4.06 - 4.79 | 版本 1 |
Netscape 6.0+ (Mozilla 0.6.0+) | 版本 3 |
Internet Explorer 3.0 | - |
Internet Explorer 4.0 | - |
Internet Explorer 5.0 | 版本 1 |
Internet Explorer 5.5+ | 版本 3 |
Opera 6.0 - 7.1 | 版本 2 |
Opera 7.2+ | 版本 3 |
Safari 1.0+/Konqueror ~ 2.0+ | 版本 3 |
DOM
DOM(文档对象模型)是 HTML 和 XML 的应用程序接口(API)。DOM 将把整个页面规划成由节点层级构成的文档。HTML 或 XML 页面的每个部分都是一个节点的衍生物。请考虑下面的 HTML 页面:
<html> <head> <title>Sample Page</title> </head> <body> <p>hello world!</p> </body> </html>
这段代码可以用 DOM 绘制成一个节点层次图:

DOM 通过创建树来表示文档,从而使开发者对文档的内容和结构具有前所未有的控制力。用 DOM API 可以轻松地删除、添加和替换节点。
1. 为什么 DOM 必不可少
自从 IE 4.0 和 Netscape Navigator 4.0 开始支持不同形态的动态 HTML(DHTML),开发者首次能够在不重载网页的情况下修改它的外观和内容。这是 Web 技术的一大飞跃,不过也带来了巨大的问题。Netscape 和微软各自开发自己的 DHTML,从而结束了 Web 开发者只编写一个 HTML 页面就可以在所有浏览器中访问的时期。
业界决定必须要做点什么以保持 Web 的跨平台特性,他们担心如果放任 Netscape 和微软公司这样做,Web 必将分化为两个独立的部分,每一部分只适用于特定的浏览器。因此,负责指定 Web 通信标准的团体 W3C(World Wide Web Consortium)就开始制定 DOM。
2. DOM 的各个等级
DOM Level 1 是 W3C 于 1998 年 10 月提出的。它由两个模块组成,即 DOM Core 和 DOM HTML。前者提供了基于 XML 的文档的结构图,以便访问和操作文档的任意部分;后者添加了一些 HTML 专用的对象和方法,从而扩展了 DOM Core。
ສະແດງວ່າ DOM ບໍ່ແມ່ນພຽງແຕ່ຂອງ JavaScript, ຄວາມຈິງບາງພາສາອື່ນໆໄດ້ປະຕິບັດມັນ. ແຕ່ DOM ໃນສະຫຼາກຜູ້ຄົນໄດ້ປະຕິບັດໂດຍ ECMAScript, ມື້ນີ້ມັນໄດ້ກາຍເປັນສ່ວນໃຫຍ່ຂອງພາສາ JavaScript.
DOM Level 1 ພຽງແຕ່ເປົ້າໝາຍ, ເພື່ອວາງແຜນຂອງເອກະສານ, DOM Level 2 ມີເປົ້າໝາຍຫຼາຍຂຶ້ນ. ການຂະຫຍາຍຂອງ DOM ຕົ້ນໄດ້ມີການສະໜັບສະໜູນການເຫດການມືຂົນມົນຕີ ແລະ ຄວາມປະສົມປະສານ (DHTML ມີການສະໜັບສະໜູນຫຼາຍຂຶ້ນ) ການເຊື່ອມໂຊມ (ການດຳເນີນພາບຄວາມຂອງເອກະສານ) ແລະ ການເພີ່ມຄວາມສະໜັບສະໜູນຂອງ CSS (CSS Cascading Style Sheets). DOM Core ຕົ້ນທີ່ໄດ້ນຳຂາຍໂດຍ Level 1 ໄດ້ເພີ່ມການສະໜັບສະໜູນຂອງ XML Namespace.
DOM Level 2 ໄດ້ນຳຂາຍຫຼັກສູບ DOM ອື່ນໆຈຳນວນຫຼາຍ, ເພື່ອການດຳເນີນການຂອງອິດສະຫຼະການຂອງຮູບແບບອື່ນໆ:
- DOM ຄະນະການ - ອະທິບາຍຄະນະການການດຳເນີນພາບຄວາມຂອງເອກະສານ (ສະແດງໃນການປະຕິບັດ CSS ແລະ ສະແດງຫຼັງຈາກປະຕິບັດ 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 ຖືກອະທິບາຍວ່າ IE 4.0 ແລະ Netscape Navigator 4.0 ທີ່ສະໜັບສະໜູນ DHTML ຕົ້ນມາ).
3. DOM ອື່ນ
ນອກຈາກ DOM Core ແລະ DOM HTML ຍັງມີພາສາອື່ນໆທີ່ປ່ອຍອອກ DOM ມາດຕະຖານ. ພາສາທັງໝົດນີ້ຕັ້ງຢູ່ໃນ XML, DOM ທັງໝົດທີ່ເປັນເພື່ອພາສາຕ່າງໆທີ່ພິຈາລະນາຂັບເຄື່ອງ ແລະ ອິນເຕີ້ບາດເຊິ່ງມີຄວາມພິເສດ:
- Scalable Vector Graphics (SVG) 1.0
- Digital Markup Language (MathML) 1.0
- Synchronization Multimedia Integration Language (SMIL)
ຄວາມຄິດຖ້າຕ້ອງການຮຽນຮູ້ຂື້ນກວ່າເກີນໄປກ່ຽວກັບ, ຍັງມີການຢືນຢັນຢູ່ CodeW3C ການສອນ SMIL 和 ການສອນ SVG。
ນອກຈາກນັ້ນ, ພາສາອື່ນໆກໍ່ໄດ້ພັດທະນາການສະຫຼາດ DOM ຂອງພວກເຂົາ, ເຊັ່ນ XML User Interface Language (XUL) ຂອງ Mozilla. ແຕ່ພຽງແຕ່ພາສາທີ່ຖືກຈັດອອກໃນດ້ານທີ່ມີຫຼາຍທັງໝົດຈະເປັນມາດຕະຖານແບບເອກະຊົນ W3C.
4. ການສະຫຼາດ DOM ໃນ Web Browser
DOM ໄດ້ເປັນມາດຕະຖານກ່ອນການສະຫຼາດ DOM ໃນສະຫຼາດການຄົ້ນຫາ Web. IE ໄດ້ສືບສວນກ່ຽວກັບ DOM ຄັ້ງທຳອິດໃນ ສະບັບ 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, ເຖິງວ່າພວກເຂົາກໍ່ຈະມີການສະຫຼາດ DOM ທີ່ຫຼາຍກວ່າ 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(浏览器对象模型),可以对浏览器窗口进行访问和操作。使用 BOM,开发者可以移动窗口、改变状态栏中的文本以及执行其他与页面内容不直接相关的动作。使 BOM 独树一帜且又常常令人怀疑的地方在于,它只是 JavaScript 的一个部分,没有任何相关的标准。
BOM 主要处理浏览器窗口和框架,不过通常浏览器特定的 JavaScript 扩展都被看做 BOM 的一部分。这些扩展包括:
- ການເປີດປະຕູບັດບຸກຄາວໃຫມ່
- ການເຄື່ອນຍ້າຍ, ການປິດປະຕູບັດບັດບຸກຄາວ, ແລະ ການດັດແປງຂະໜາດປະຕູບັດບຸກຄາວ
- ໂອບເບລ Location ທີ່ສະໜອງຂໍ້ມູນຄວາມຄົງຄວາມລະອຽດຄວາມພາສາຂອງ Web Browser
- ໂອບເບລ Screen ທີ່ສະໜອງຂໍ້ມູນຄວາມຄົງຄວາມລະອຽດຄວາມພາສາຂອງຈຸດພະລັງງານຜູ້ນຳ
- ການສະໜັບສະໜູນ cookie
- IE ໄດ້ຂະຫຍາຍ BOM, ສະໜອງປະເພດ ActiveXObject, ທີ່ສາມາດພິມິສິດໂອບເບລ ActiveX ຜ່ານ JavaScript
ຍ້ອນບໍ່ມີມາດຕະຖານ BOM, ແຕ່ລະບຸມນຸມມີການຄວາມຄິດສະຫຼາດ BOM. ບາງລະບົບຈະມີມາດຕະຖານຄິດສະຫຼາດ, ເຖິງຢ່າງໃດກໍ່ຕາມ, ແຕ່ລະບຸມນຸມມີສິດທິພິມິສິດ ສຳລັບໂອບເບລແລະໂອບເບລອື່ນໆ.
ການກວດສອບ:
- ຫນ້າຫນັງກ່ອນ ປະຫວັດສາດ JavaScript
- ຫນ້າຫນັງ ວິນຍານ ECMAScript