Datasheet

Chapter 1: What Is JavaScript?
9
Additionally, other languages have developed their own DOM implementations, such as Mozilla ’ s XML
User Interface Language (XUL). However, only the languages in the preceding list are standard
recommendations from W3C.
DOM Support in Web Browsers
The DOM had been a standard for some time before web browsers started implementing it. Internet
Explorer made its first attempt with version 5, but it didn t have any realistic DOM support until
version 5.5, when it implemented most of DOM Level 1. Internet Explorer hasn t introduced new DOM
functionality in versions 6 and 7, though version 8 introduces some bug fixes .
For Netscape, no DOM support existed until Netscape 6 (Mozilla 0.6.0) was introduced. After
Netscape 7, Mozilla switched its development efforts to the Firefox browser. Firefox 3 supports all of
Level 1, nearly all of Level 2, and some parts of Level 3. (The goal of the Mozilla development team was
to build a 100% standards - compliant browser, and their work paid off.)
DOM support became a huge priority for most browser vendors, and efforts have been ongoing to
improve support with each release. Internet Explorer now lags far behind the other three major browsers
in DOM support, being stuck at a partial implementation of DOM Level 1. Chrome 0.2+, Opera 9, and
Safari 3 support all of DOM Level 1 and most of DOM Level 2. The following table shows DOM support
for popular browsers:
Browser DOM Compliance
Netscape Navigator 1. – 4.x
Netscape 6+ (Mozilla 0.6.0+) Level 1, Level 2 (almost all), Level 3 (partial)
Internet Explorer 2 – 4.x
Internet Explorer 5 Level 1 (minimal)
Internet Explorer 5.5 - 7 Level 1 (almost all)
Opera 1 – 6
Opera 7 – 8.x Level 1 (almost all), Level 2 (partial)
Opera 9+ Level 1, Level 2 (almost all), Level 3 (partial)
Safari 1.0.x Level 1
Safari 2+ Level 1, Level 2 (partial)
Chrome 0.2+ Level 1, Level 2 (partial)
Firefox 1+ Level 1, Level 2 (almost all), Level 3 (partial)
The Browser Object Model ( BOM )
The Internet Explorer 3 and Netscape Navigator 3 browsers featured a Browser Object Model (BOM) that
allowed access and manipulation of the browser window. Using the BOM, developers can interact with
the browser outside of the context of its displayed page. What makes the BOM truly unique, and often
problematic, is that it is the only part of a JavaScript implementation that has no related standard.
c01.indd 9c01.indd 9 12/8/08 11:21:52 AM12/8/08 11:21:52 AM