JavaScript ʵÏÖ
JavaScript µÄºËÐÄ ECMAScript ÃèÊöÁ˸ÃÓïÑÔµÄÓï·¨ºÍ»ù±¾¶ÔÏó£»
DOM ÃèÊöÁË´¦ÀíÍøÒ³ÄÚÈݵķ½·¨ºÍ½Ó¿Ú£»
BOM ÃèÊöÁËÓëä¯ÀÀÆ÷½øÐн»»¥µÄ·½·¨ºÍ½Ó¿Ú¡£
ECMAScript¡¢DOM ºÍ BOM
¾¡¹Ü ECMAScript ÊÇÒ»¸öÖØÒªµÄ±ê×¼£¬µ«Ëü²¢²»ÊÇ JavaScript ΨһµÄ²¿·Ö£¬µ±È»£¬Ò²²»ÊÇΨһ±»±ê×¼»¯µÄ²¿·Ö¡£Êµ¼ÊÉÏ£¬Ò»¸öÍêÕûµÄ JavaScript ʵÏÖÊÇÓÉÒÔÏ 3 ¸ö²»Í¬²¿·Ö×é³ÉµÄ£º
ECMAScript
ECMAScript ²¢²»ÓëÈκξßÌåä¯ÀÀÆ÷Ïà°ó¶¨£¬Êµ¼ÊÉÏ£¬ËüҲûÓÐÌáµ½ÓÃÓÚÈκÎÓû§ÊäÈëÊä³öµÄ·½·¨£¨ÕâµãÓë C ÕâÀàÓïÑÔ²»Í¬£¬ËüÐèÒªÒÀÀµÍⲿµÄ¿âÀ´Íê³ÉÕâÀàÈÎÎñ£©¡£ÄÇôʲô²ÅÊÇ ECMAScript ÄØ£¿ECMA-262 ±ê×¼£¨µÚ 2 ¶Î£©µÄÃèÊöÈçÏ£º
¡°ECMAScript ¿ÉÒÔΪ²»Í¬ÖÖÀàµÄËÞÖ÷»·¾³ÌṩºËÐĵĽű¾±à³ÌÄÜÁ¦£¬Òò´ËºËÐĵĽű¾ÓïÑÔÊÇÓëÈκÎÌØ¶¨µÄËÞÖ÷»·¾³·Ö¿ª½øÐй涨µÄ... ...¡±
Web ä¯ÀÀÆ÷¶ÔÓÚ ECMAScript À´ËµÊÇÒ»¸öËÞÖ÷»·¾³£¬µ«Ëü²¢²»ÊÇΨһµÄËÞÖ÷»·¾³¡£ÊÂʵÉÏ£¬»¹Óв»¼ÆÆäÊýµÄÆäËû¸÷ÖÖ»·¾³£¨ÀýÈç Nombas µÄ ScriptEase£¬ÒÔ¼° Macromedia ͬʱÓÃÔÚ Flash ºÍ Director MX ÖÐµÄ ActionScript£©¿ÉÒÔÈÝÄÉ ECMAScript ʵÏÖ¡£ÄÇô ECMAScript ÔÚä¯ÀÀÆ÷Ö®Íâ¹æ¶¨ÁËÐ©Ê²Ã´ÄØ£¿
¼òµ¥µØËµ£¬ECMAScript ÃèÊöÁËÒÔÏÂÄÚÈÝ£º
- Óï·¨
- ÀàÐÍ
- Óï¾ä
- ¹Ø¼ü×Ö
- ±£Áô×Ö
- ÔËËã·û
- ¶ÔÏó
ECMAScript ½ö½öÊÇÒ»¸öÃèÊö£¬¶¨ÒåÁ˽ű¾ÓïÑÔµÄËùÓÐÊôÐÔ¡¢·½·¨ºÍ¶ÔÏ󡣯äËûÓïÑÔ¿ÉÒÔʵÏÖ ECMAScript À´×÷Ϊ¹¦ÄܵĻù×¼£¬JavaScript ¾ÍÊÇÕâÑù£º
ÿ¸öä¯ÀÀÆ÷¶¼ÓÐËü×Ô¼ºµÄ ECMAScript ½Ó¿ÚµÄʵÏÖ£¬È»ºóÕâ¸öʵÏÖÓÖ±»À©Õ¹£¬°üº¬ÁË DOM ºÍ BOM£¨ÔÚÒÔϼ¸½ÚÖÐÔÙ̽ÌÖ£©¡£µ±È»»¹ÓÐÆäËûʵÏÖ²¢À©Õ¹ÁË ECMAScript µÄÓïÑÔ£¬ÀýÈç Windows ½Å±¾ËÞÖ÷£¨Windows Scripting Host, WSH£©¡¢Macromedia ÔÚ Flash ºÍ Director MX ÖÐµÄ ActionScript£¬ÒÔ¼° Nombas ScriptEase¡£
1. ECMAScript µÄ°æ±¾
ECMAScript ·Ö³É¼¸¸ö²»Í¬µÄ°æ±¾£¬ËüÊÇÔÚÒ»¸ö½Ð×ö ECMA-262 µÄ±ê×¼Öж¨ÒåµÄ¡£ºÍÆäËû±ê×¼Ò»Ñù£¬ECMA-262 »á±»±à¼ºÍ¸üС£µ±ÓÐÁËÖ÷Òª¸üÐÂʱ£¬¾Í»á·¢²¼Ò»¸ö±ê×¼µÄа档×îРECMA-262 µÄ°æ±¾ÊÇ 5.1£¬ÓÚ 2011 Äê 6 Ô·¢²¼¡£
ECMA-262 µÄµÚÒ»°æÔÚ±¾ÖÊÉÏÓë Netscape µÄ JavaScript 1.1 ÊÇÒ»Ñù£¬Ö»ÊǰÑËùÓÐÓëä¯ÀÀÆ÷Ïà¹ØµÄ´úÂëɾ³ýÁË£¬´ËÍ⻹ÓÐһЩСµÄµ÷Õû¡£Ê×ÏÈ£¬ECMA-262 ÒªÇó¶Ô Unicode ±ê×¼µÄÖ§³Ö£¨ÒÔ±ãÖ§³Ö¶àÓïÑÔ£©¡£µÚ¶þ£¬ËüÒªÇó¶ÔÏóÊÇÆ½Ì¨Î޹صģ¨Netscape µÄ JavaScript 1.1 ÊÂʵÉÏÓв»Í¬µÄ¶ÔÏóʵÏÖ£¬ÀýÈç Date ¶ÔÏó£¬ÊÇÒÀÀµÓÚÆ½Ì¨£©¡£ÕâÊÇ JavaScript 1.1 ºÍ 1.2 Ϊʲô²»·ûºÏ ECMA-262 ¹æ·¶µÚÒ»°æµÄÖ÷ÒªÔÒò¡£
ECMA-262 µÄµÚ¶þ°æ´ó²¿·Ö¸üб¾ÖÊÉÏÊDZà¼ÐԵġ£Õâ´Î±ê×¼µÄ¸üÐÂÊÇΪÁËÓë ISO/IEC-16262 µÄÑϸñÒ»Ö£¬Ò²²¢Ã»ÓÐÌØ±ðÌí¼Ó¡¢¸ü¸ÄºÍɾ³ýÄÚÈÝ¡£ECMAScript Ò»°ã²»»á×ñÊØµÚ¶þ°æ¡£
ECMA-262 µÚÈý°æÊǸñê×¼µÚÒ»´ÎÕæÕýµÄ¸üС£ËüÌṩÁ˶Ô×Ö·û´®´¦Àí¡¢´íÎó¶¨ÒåºÍÊýÖµÊä³öµÄ¸üС£Í¬Ê±£¬Ëü»¹Ôö¼ÓÁËÕýÔò±í´ïʽ¡¢ÐµĿØÖÆÓï¾ä¡¢try...catch Òì³£´¦ÀíµÄÖ§³Ö£¬ÒÔ¼°Ò»Ð©ÎªÊ¹±ê×¼¹ú¼Ê»¯¶ø×öµÄС¸Ä¶¯¡£Ò»°ãÀ´Ëµ£¬Ëü±êÖ¾×Å ECMAScript ³ÉΪһÖÖÕæÕýµÄ±à³ÌÓïÑÔ¡£
2. ºÎν ECMAScript ·ûºÏÐÔ
ÔÚ ECMA-262 ÖУ¬ECMAScript ·ûºÏÐÔ£¨conformance£©ÓÐÃ÷È·µÄ¶¨Òå¡£Ò»¸ö½Å±¾ÓïÑÔ±ØÐëÂú×ãÒÔÏÂËÄÏî»ù±¾ÔÔò£º
- ·ûºÏµÄʵÏÖ±ØÐë°´ÕÕ ECMA-262 ÖÐËùÃèÊöµÄÖ§³ÖËùÓеġ°ÀàÐÍ¡¢Öµ¡¢¶ÔÏó¡¢ÊôÐÔ¡¢º¯ÊýºÍ³ÌÐòÓïÑÔ¼°ÓïÒ塱£¨ECMA-262£¬µÚÒ»Ò³£©
- ·ûºÏµÄʵÏÖ±ØÐëÖ§³Ö Unicode ×Ö·û±ê×¼£¨UCS£©
- ·ûºÏµÄʵÏÖ¿ÉÒÔÔö¼ÓûÓÐÔÚ ECMA-262 ÖÐÖ¸¶¨µÄ¡°¶îÍâÀàÐÍ¡¢Öµ¡¢¶ÔÏó¡¢ÊôÐԺͺ¯Êý¡±¡£ECMA-262 ½«ÕâЩÔö¼ÓÃèÊöΪ¹æ·¶ÖÐδ¸ø¶¨µÄжÔÏó»ò¶ÔÏóµÄÐÂÊôÐÔ
- ·ûºÏµÄʵÏÖ¿ÉÒÔÖ§³ÖûÓÐÔÚ ECMA-262 Öж¨ÒåµÄ¡°³ÌÐòºÍÕýÔò±í´ïʽÓï·¨¡±£¨Òâ˼ÊÇ¿ÉÒÔÌæ»»»òÕßÀ©Õ¹ÄÚ½¨µÄÕýÔò±í´ïʽ֧³Ö£©
ËùÓÐ ECMAScript ʵÏÖ±ØÐë·ûºÏÒÔÉϱê×¼¡£
3. Web ä¯ÀÀÆ÷ÖÐµÄ ECMAScript Ö§³Ö
º¬ÓÐ JavaScript 1.1 µÄ Netscape Navigator 3.0 ÔÚ 1996 Äê·¢²¼¡£È»ºó£¬JavaScript 1.1 ¹æ·¶±»×÷Ϊһ¸öбê×¼µÄ²Ý°¸±»Ìá½»¸ø EMCA¡£ÓÐÁË JavaScript ºä¶¯ÐÔµÄÁ÷ÐУ¬Netscape Ê®·Ö¸ßÐ˵ؿªÊ¼¿ª·¢ 1.2 °æ¡£µ«ÓÐÒ»¸öÎÊÌ⣬ECMA ²¢Î´½ÓÊÜ Netscape µÄ²Ý°¸¡£ÔÚ Netscape Navigator 3.0 ·¢²¼ºó²»¾Ã£¬Î¢Èí¾Í·¢²¼ÁË IE 3.0¡£¸Ã°æ±¾µÄ IE º¬ÓÐ JScript 1.0£¨Î¢Èí×Ô¼ºµÄ JavaScript ʵÏÖµÄÃû³Æ£©£¬Ô±¾¼Æ»®¿ÉÒÔÓë JavaScript 1.1 ÏàÌá²¢ÂÛ¡£È»ºó£¬ÓÉÓÚÎĵµ²»È«ÒÔ¼°Ò»Ð©²»µ±µÄÖØ¸´ÌØÐÔ£¬JScript 1.0 ԶԶûÓдﵽ JavaScript 1.1 µÄˮƽ¡£
ÔÚ ECMA-262 µÚÒ»°æ¶¨¸å֮ǰ£¬·¢²¼º¬ÓÐ JavaScript 1.2 µÄ Netscape Navigator 4.0 ÊÇÔÚ 1997 Ä꣬ÔÚÄÇÄêÍíЩʱºò£¬ECMA-262 ±ê×¼±»½ÓÊܲ¢±ê×¼»¯¡£Òò´Ë£¬JavaScript 1.2 ²¢²»ºÍ ECMAScript µÄµÚÒ»°æ¼æÈÝ£¬ËäÈ» ECMAScript Ó¦¸Ã»ùÓÚ JavaScript 1.1¡£
JScript µÄÏÂÒ»²½ÊÇ IE 4.0 ÖмÓÈëµÄ JScript 3.0£¨2.0 °æÊÇËæ IIS 3.0 Ò»Æð·¢²¼µÄ£¬µ«²¢Î´°üº¬ÔÚä¯ÀÀÆ÷ÖУ©¡£Î¢Èí´óÁ¦Ðû´« JScript 3.0 ÊÇÊÀ½çÉϵÚÒ»¸öÕæÕý·ûºÏ ECMA ±ê×¼µÄ½Å±¾ÓïÑÔ¡£¶øÄÇʱ£¬ECMA-262 »¹Ã»ÓÐ×îÖÕ¶¨¸å£¬ËùÒÔ JScript 3.0 Ò²ÔâÊÜÁËºÍ JavaScript 1.2 ͬÑùµÄÃüÔË - Ëü»¹ÊÇûÄÜ·ûºÏ×îÖÕµÄ ECMAScript ±ê×¼¡£
Netscape Ñ¡ÔñÔÚ Netscape Navigator 4.06 ÖÐÉý¼¶ËüµÄ JavaScript ʵÏÖ¡£JavaScript 1.3 ʹ Netscape ÖÕÓÚÍêÈ«·ûºÏÁË ECMAScript µÚÒ»°æ¡£Netscape ¼ÓÈëÁË¶Ô Unicode ±ê×¼µÄÖ§³Ö£¬²¢ÈÃËùÓеĶÔÏó±£ÁôÁËÔÚ JavaScript 1.2 ÖÐÒýÈëµÄÐÂÌØÐÔµÄͬʱʵÏÖÁËÆ½Ì¨¶ÀÁ¢¡£
µ± Netscape ½«ËüµÄÔ´´úÂë×÷Ϊ Mozilla ÏîÄ¿¹«²¼ÓÚÖÚʱ£¬±¾À´¼Æ»® JavaScript 1.4 ½«»áǶÈëµ½ Netscape Navigator 5.0 ÖС£È»¶ø£¬Ò»¸öð½øµÄ¾ö¶¨ - ÒªÍêÈ«´ÓÍ·ÖØÐÂÉè¼Æ Netscape µÄ´úÂë£¬ÆÆ»µÁËÕâ¸ö¹¤×÷¡£JavaScript 1.4 ½ö½ö×÷Ϊһ¸ö Netscape Enterprise Server µÄ·þÎñÆ÷¶Ë½Å±¾ÓïÑÔ·¢²¼£¬ÒÔºóҲûÓб»·ÅÈëä¯ÀÀÆ÷ÖС£
Èç½ñ£¬ËùÓÐÖ÷Á÷µÄ Web ä¯ÀÀÆ÷¶¼×ñÊØ 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 | 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£¨Îĵµ¶ÔÏóÄ£ÐÍ£©ÊÇ 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 µÄ¸÷¸ö level
DOM Level 1 ÊÇ W3C ÓÚ 1998 Äê 10 ÔÂÌá³öµÄ¡£ËüÓÉÁ½¸öÄ£¿é×é³É£¬¼´ DOM Core ºÍ DOM HTML¡£Ç°ÕßÌṩÁË»ùÓÚ XML µÄÎĵµµÄ½á¹¹Í¼£¬ÒÔ±ã·ÃÎʺͲÙ×÷ÎĵµµÄÈÎÒⲿ·Ö£»ºóÕßÌí¼ÓÁËһЩ HTML רÓõĶÔÏóºÍ·½·¨£¬´Ó¶øÀ©Õ¹ÁË DOM Core¡£
×¢Ò⣬DOM ²»ÊÇ JavaScript רÓеģ¬ÊÂʵÉÏÐí¶àÆäËûÓïÑÔ¶¼ÊµÏÖÁËËü¡£²»¹ý£¬Web ä¯ÀÀÆ÷ÖÐµÄ DOM ÒѾÓà ECMAScript ʵÏÖÁË£¬ÏÖÔÚÊÇ JavaScript ÓïÑÔµÄÒ»¸öºÜ´ó×é³É²¿·Ö¡£
DOM Level 1 Ö»ÊÇÒ»¸öÄ¿±ê£¬¼´¹æ»®ÎĵµµÄ½á¹¹£¬DOM Level 2 µÄÄ¿±ê¾Í¹ã·º¶àÁË¡£¶ÔÔʼ DOM µÄÀ©Õ¹Ìí¼ÓÁ˶ÔÊó±êºÍÓû§½çÃæÊ¼þ£¨DHTML ¶Ô´ËÓзḻµÄÖ§³Ö£©¡¢·¶Î§¡¢±éÀú£¨Öظ´Ö´ÐÐ DOM ÎĵµµÄ·½·¨£©µÄÖ§³Ö£¬²¢Í¨¹ý¶ÔÏó½Ó¿ÚÌí¼ÓÁË¶Ô CSS£¨²ãµþÑùʽ±í£©µÄÖ§³Ö¡£ÓÉ Level 1 ÒýÈëµÄÔʼ DOM Core Ò²¼ÓÈëÁË¶Ô XML ÃüÃû¿Õ¼äµÄÖ§³Ö¡£
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 ¶¼¸ø¶ÔÓ¦ÓïÑÔÌí¼ÓÁËÌØÓеķ½·¨ºÍ½Ó¿Ú£º
- ¿ÉËõ·ÅʸÁ¿ÓïÑÔ£¨SVG£©1.0
- Êý×Ö±ê¼ÇÓïÑÔ£¨MathML£©1.0
- ͬ²½¶àýÌ弯³ÉÓïÑÔ£¨SMIL£©
×¢ÊÍ£ºÈç¹ûÏ£Íûѧϰ¸ü¶àÏà¹ØÄÚÈÝ£¬Çë·ÃÎÊ w3school µÄ SMIL ½Ì³Ì ºÍ SVG ½Ì³Ì¡£
´ËÍ⣬ÆäËûÓïÑÔÒ²¿ª·¢ÁË×Ô¼ºµÄ DOM ʵÏÖ£¬Èç Mozilla µÄ XML Óû§½çÃæÓïÑÔ£¨XUL£©¡£²»¹ý£¬Ö»ÓÐÉÏÃæÁгöµÄ¼¸ÖÖÓïÑÔÊÇ W3C µÄÍÆ¼ö±ê×¼¡£
4. Web ä¯ÀÀÆ÷ÖÐµÄ DOM Ö§³Ö
DOM ÔÚ±» Web ä¯ÀÀÆ÷¿ªÊ¼ÊµÏÖ֮ǰ¾ÍÒѾÊÇÒ»ÖÖ±ê×¼ÁË¡£IE Ê״γ¢ÊÔ DOM ÊÇÔÚ 5.0 °æ±¾ÖУ¬²»¹ýÆäʵֱµ½ 5.5 °æ±¾Ö®ºó²Å¾ßÓÐÕæÕýµÄ DOM Ö§³Ö£¬IE 5.5 ʵÏÖÁË DOM Level 1¡£´ÓÄÇʱÆð£¬IE ¾ÍûÓÐÒýÈëÐ嵀 DOM ¹¦ÄÜ¡£
Netscape Ö±µ½ Netscape 6£¨Mozilla 0.6.0£©²ÅÒýÈë DOM Ö§³Ö¡£Ä¿Ç°£¬Mozilla ¾ßÓÐ×îºÃµÄ DOM Ö§³Ö£¬ÊµÏÖÁËÍêÕûµÄ Level 1¡¢¼¸ºõËùÓÐ Level 2 ÒÔ¼°Ò»²¿·Ö Level 3¡££¨Mozilla ¿ª·¢Ð¡×éµÄÄ¿±êÊǹ¹ÔìÒ»¸öÓë±ê×¼ 100% ¼æÈݵÄä¯ÀÀÆ÷£¬ËûÃǵŤ×÷µÃµ½Á˻ر¨¡££©
Opera Ö±µ½ 7.0 °æ±¾²Å¼ÓÈë DOM Ö§³Ö£¬»¹ÓÐ 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 µÄ֪ʶ£¬Çë·ÃÎÊ w3school µÄ HTML DOM ½Ì³Ì ºÍ XML DOM ½Ì³Ì¡£
BOM
IE 3.0 ºÍ Netscape Navigator 3.0 ÌṩÁËÒ»ÖÖÌØÐÔ - BOM£¨ä¯ÀÀÆ÷¶ÔÏóÄ£ÐÍ£©£¬¿ÉÒÔ¶Ôä¯ÀÀÆ÷´°¿Ú½øÐзÃÎʺͲÙ×÷¡£Ê¹Óà BOM£¬¿ª·¢Õß¿ÉÒÔÒÆ¶¯´°¿Ú¡¢¸Ä±ä״̬À¸ÖеÄÎı¾ÒÔ¼°Ö´ÐÐÆäËûÓëÒ³ÃæÄÚÈݲ»Ö±½ÓÏà¹ØµÄ¶¯×÷¡£Ê¹ BOM ¶ÀÊ÷Ò»ÖÄÇÒÓÖ³£³£ÁîÈË»³Òɵĵط½ÔÚÓÚ£¬ËüÖ»ÊÇ JavaScript µÄÒ»¸ö²¿·Ö£¬Ã»ÓÐÈκÎÏà¹ØµÄ±ê×¼¡£
BOM Ö÷Òª´¦Àíä¯ÀÀÆ÷´°¿ÚºÍ¿ò¼Ü£¬²»¹ýͨ³£ä¯ÀÀÆ÷ÌØ¶¨µÄ JavaScript À©Õ¹¶¼±»¿´×ö BOM µÄÒ»²¿·Ö¡£ÕâЩÀ©Õ¹°üÀ¨£º
- µ¯³öеÄä¯ÀÀÆ÷´°¿Ú
- ÒÆ¶¯¡¢¹Ø±Õä¯ÀÀÆ÷´°¿ÚÒÔ¼°µ÷Õû´°¿Ú´óС
- Ìṩ Web ä¯ÀÀÆ÷ÏêϸÐÅÏ¢µÄ¶¨Î»¶ÔÏó
- ÌṩÓû§ÆÁÄ»·Ö±æÂÊÏêϸÐÅÏ¢µÄÆÁÄ»¶ÔÏó
- ¶Ô cookie µÄÖ§³Ö
- IE À©Õ¹ÁË BOM£¬¼ÓÈëÁË ActiveXObject À࣬¿ÉÒÔͨ¹ý JavaScript ʵÀý»¯ ActiveX ¶ÔÏó
ÓÉÓÚûÓÐÏà¹ØµÄ BOM ±ê×¼£¬Ã¿ÖÖä¯ÀÀÆ÷¶¼ÓÐ×Ô¼ºµÄ BOM ʵÏÖ¡£ÓÐһЩÊÂʵÉϵıê×¼£¬Èç¾ßÓÐÒ»¸ö´°¿Ú¶ÔÏóºÍÒ»¸öµ¼º½¶ÔÏ󣬲»¹ýÿÖÖä¯ÀÀÆ÷¿ÉÒÔΪÕâЩ¶ÔÏó»òÆäËû¶ÔÏó¶¨Òå×Ô¼ºµÄÊôÐԺͷ½·¨¡£