Microsoft HomeproductssearchsupportshopWrite Us   Microsoft Home
Magazine
 |  Community
 |  Workshop
 |  Tools & Samples
 |  Training
 |  Site Info

Workshop  |  DHTML, HTML & CSS

Technology Comparison


Microsoft Corporation

Updated: September 30, 1997

Microsoft Dynamic HTML and Netscape Dynamic HTML

How do Microsoft's and Netscape's implementations of Dynamic HTML compare? Both technologies support Cascading Style Sheets, specifically the CSS Recommendation Non-MS link and CSS Positioning Working Draft Non-MS link. Apart from CSS support, these two technologies fundamentally differ with respect to creative capabilities and standards support.

Microsoft Dynamic HTML provides Web authors with a powerful HTML layout engine and total creative control, so they can manipulate any page element at any time.

Netscape's implementation is not consistent with the Document Object Model, as described by the W3C Requirements Document. As a result, Netscape Navigator exposes few page elements as objects, limiting layout and creative capabilities for authors. Page elements can be manipulated only while the page is loading, not after load time. Netscape's nonstandard implementation consists of JavaScript Accessible Style Sheets (JASS), layers and dynamic fonts (TrueDoc). These technologies are not supported in Microsoft Internet Explorer 4.0.

Microsoft's implementation of Dynamic HTML, based on the Document Object Model, provides greater creative control than Netscape's implementation, which provides little support for the Document Object Model.

For instance, with Netscape's implementation of Dynamic HTML, an author could replace one graphic with another on a Web page. Because Netscape's technology does not include intelligence about the relationships among page elements, the text surrounding the replaced graphic would not reflow. For the same reason, authors cannot dynamically change the font size of selected text. An interactive document, such as a table of contents or an outline, could not be created using Netscape technology without reloading the page.

In-Depth Comparison

Total Creative Control for Rich User Experience
Microsoft Dynamic HTML Netscape Dynamic HTML
Comprehensive object model
  • Supports Document Object Model. All page elements (every element, attribute, and even characters in a document) are programmable objects.
  • All elements can generate events. Mouse and keyboard events are surfaced for all elements.
  • Events bubble through the document hierarchy.
  • Page contents are accessible to scripts.
Limited object model
  • Provides little support for Document Object Model. Few elements are encapsulated as objects, so little page content can be manipulated by script.
  • Very few elements can generate events.
  • No event bubbling.
Interactive content
  • Access and manipulate (create, delete, or modify) all existing document content at any time.
  • Readjust all page elements automatically around new content.
None
Dynamic styles
  • After load time, change the style (e.g., font, color) of existing content.
  • Apply filter and transition effects to HTML through CSS syntax.
None
Positioning, limited animation
  • Supports CSS positioning.
  • Animate elements by changing CSS position attributes at any time.
  • Create 2-D forms, where each form element is absolutely positioned.
  • Support for scrolling content when an element's content exceeds its height or width.
  • Access any existing page content. Move this content anywhere at any time, without having to redefine the content.
  • The relationship among page elements is known. If an element changes, then other page elements readjust automatically without the page having to reload (e.g., An element can be resized, and other page content will reflow around that element).
Positioning, limited animation
  • Supports CSS positioning.
  • Multiple, static layers must be used to simulate animation of page elements.
  • Form elements cannot be absolutely positioned in a 2-D form.
  • Content does not scroll when its height or width has been exceeded.
  • Authors have very limited access to, and thus cannot manipulate, existing page content.
  • The relationship among page elements is not known. Page elements do not readjust automatically, unless the entire page is reloaded (e.g., page elements must maintain a fixed size).
Load time interactivity
  • Update document's style or content while page is parsed.
  • Display page in canvas mode.
Limited load time interactivity
  • JASS style attributes are updated at load time.
  • Display page in canvas mode.
Data binding
  • Ability to cache and present data locally.
  • Manipulate (e.g., sort, filter) data without a server round trip.
  • Supports different data sources: ODBC, JDBC, comma-delimited text files through data source objects that retrieve and provide data to Web page.
  • Supports JavaBeans, ActiveX™ interfaces. Data source objects can be Java applets or ActiveX controls.
None
Scriptlets
  • Create components using HTML and script (EMCAScript, VBScript).
  • Easily customize, reuse these components through well-defined interfaces.
None
Easiest Way to Make Pages Interactive
Simple scripting
  • One model for using Dynamic HTML.
  • Reuse code with event bubbling.
Scripting more complex
  • Need to learn how to use two different models: JASS and layers. Layers can require complex scripting.
  • No event bubbling.
Language independent
  • Supports any language (e.g., JavaScript, VBScript). Extend with ActiveX Controls, Java applets.
JavaScript only
Third-party tools support
  • Tools available today from : Bluestone, ExperTelligence, Microsoft, Pictorius, SoftQuad
  • Tools coming soon from Allaire, Borland, Elemental, Macromedia, Powersoft
No support announced
Open Technology
Open object model
  • Independent of language or object technology.
  • Based on W3C Document Object Model preliminary requirements.
Limited object model
  • Tied to JavaScript.
  • Provides little Document Object Model functionality.
Graceful degradation
  • CSS, HTML 3.2 content displayed statically in other browsers.
Less graceful degradation
  • CSS, HTML 3.2 content displayed statically in other browsers.
  • Layers not displayed well in other browsers.
Availability
  • Microsoft Internet Explorer 4.0 on the Macintosh, Windows®, and UNIX platforms.
  • Dynamic HTML to be licensed freely to third parties.
Limited availability
  • Netscape Communicator for Macintosh, Windows, and UNIX platforms.
  • Dynamic HTML implementation not available to third parties.
Support for Standards
  Internet Explorer Navigator 4.0
Recommendations
  • HTML 3.2
  • CSS1
  • PNG


Yes
Yes
Yes


Yes
Yes
No(1)
Working Drafts
  • Positioning HTML elements with CSS
  • Web fonts


Yes

Partial


Yes

No(2)
HTML 4.0:    
- Hypertext links in HTML Yes Yes
- HTML and style sheets Yes Yes
- Client-side scripting and HTML Yes Yes
- Implementing HTML frames Yes Partial(3)
- Enhancing interactive HTML documents (forms) Yes No
- Inserting objects into HTML Yes N/A(4)
- Additional named entities for HTML Yes No
- XML Partial(5) No
- RFC 1867: file upload requests Yes(2) Yes
- RFC 1942: HTML tables (enhancements) Yes No
- RFC 2070: HTML internationalization Yes Partial
Proposals Under Review
  • Document Object Model
  • HTML Extensions for Data Binding
  • XML Web Collections


Yes
Yes
No


No
No
No

Notes:

  1. PNG support requires third-party plug-in.
  2. Supports a non-standard syntax for font embedding
  3. No <IFRAME> support.
  4. Information not available.
  5. Microsoft Internet Explorer 4.0 supports a few XML applications, such as CDF, but not XML generally. A future version of Internet Explorer will support XML.


Did you find this article useful? Gripes? Compliments? Suggestions for other articles? Write us!

Back to topBack to top

© 1998 Microsoft Corporation. All rights reserved. Terms of use.

 

Magazine Home
Ask Jane
DHTML Dude
Extreme XML
For Starters
More or Hess
Servin' It Up
Site Lights
Web Men Talking
Member Community Home
Benefits: Freebies & Discounts
Benefits: Promote Your Site
Benefits: Connect with Your Peers
Benefits at a Glance
Online Special-Interest Groups
Your Membership
SBN Stores
Join Now
Workshop Home
Essentials
Content & Component Delivery
Component Development
Data Access & Databases
Design
DHTML, HTML & CSS
Extensible Markup Language (XML)
Languages & Development Tools
Messaging & Collaboration
Networking, Protocols & Data Formats
Reusing Browser Technology
Security & Cryptography
Server Technologies
Streaming & Interactive Media
Web Content Management
Workshop Index
Tools & Samples Home
Tools
Samples, Headers, Libs
Images
Sounds
Style Sheets
Web Fonts
Training Home
SBN Live Seminars
SBN Live Chats
Courses
Peer Support
CD-ROM Training
Books & Training Kits
Certification
SBN Home
New to SBN?
What's New on SBN
Site Map
Site Search
Glossary
Write Us
About This Site