Navigation
  • Home
  • Recent
  • Most Active
  • Popular
  • Blog
  • Credits
  • RSS
  •   Interaction
  • Register
  • Statistics
  •   Help
  • Suggestions
  • Contact Us
  • How to Edit
  • Help



  • [Edit]




    The following tables compare DOM compatibility and support for a number of layout engines. Please see the individual products' articles for further information. This article is not all-inclusive or necessarily up-to-date. Unless otherwise specified in footnotes, comparisons are based on the stable versions without any add-ons, extensions or external programs.

    For feature that is fully supported (based on DOM Level 2 or DOM Level 3 modules that are under W3C Recommendation), an exact version number is given if it is certain that the feature was added in such version; otherwise, a rough version number is given (e.g. < 2.0 means that the feature was supported since version 2.0 or below). DOM Level 0 and DOM Level 3 modules that are still under development are not included.


        Comparison of layout engines (DOM)
            General overview
            Core (Fundamental)
                Trident Core (Fundamental) notes
                Gecko Core (Fundamental) notes
                Presto Core (Fundamental) notes
            Core (Extended)
            HTML
                Trident HTML notes
                WebCore HTML notes
                Presto HTML notes
            Style (Style Sheets)
                Trident Style (Style Sheets) notes
            Style (CSS Fundamental)
                Tasman Style (CSS Fundamental) notes
            Style (CSS Extended)
            Events
                Trident Events notes
                Tasman Events notes
                Gecko Events notes
                WebCore Events notes
                Presto Events notes
            Views
            Traversal
            Range
            Load and Save
            Validation
            See also

    top

    General overview


    top

    Core (Fundamental)
    The interfaces within this section are considered fundamental, and must be fully implemented by all conforming implementations of the DOM, including all HTML DOM implementations.


    top

    Trident Core (Fundamental) notes
      getElementById() — returns elements with name attribute set to value beeing found, not only id. Present in IE7. *
      getAttribute(), setAttribute(), removeAttribute() — returns, sets, and removes, respectively, the corresponding DOM property instead of the string value of the attribute. For example, element.getAttribute('onclick') returns element.onclick, which is a reference to a function and not a string. Another example: element.removeAttribute('class') does not work as expected; element.removeAttribute('className') must be called instead. getAttribute and setAttribute with 'style' as their parameter don't work, but the inline style can be retrieved by setting the non-standard iFlags parameter to 2 (i.e. by calling element.getAttribute('style',2)), or accessed using the Node.style property. *

    top

    Gecko Core (Fundamental) notes
      insertBefore(), replaceChild(), removeChild(), appendChild() — Fails on Attr nodes . appendChild does not work as expected for DocumentFragment nodes prior to 1.8 .
      createEntityReference() — Supported, but returns null when the method is checked .

    top

    Presto Core (Fundamental) notes
      URI attribute value — In versions prior to Opera 9, all URI attribute values are resolved to full URI. Hence the value from getAttribute() and getAttributeNode() could be wrong if relative URIs are used.
      Attributes that are not supported in the layout engine are still parsed and available through DOM. E.g. char and charoff are available under .ch and .chOff.
      In Opera 8.54 methods DOMImplementation.createDocument and DOMDocument.createElementNS both fail to accept any non-empty namespace URI. They work in Opera 9 Beta 2 and they may also have worked before (somebody with Opera 8, please check.) The symptom is that the namespaceURI property is null/empty and serialization gives wrong result.

    top

    Core (Extended)
    The interfaces defined here form part of the DOM Core specification, but objects that expose these interfaces will never be encountered in a DOM implementation that deals only with HTML.


    top

    HTML
    The interfaces found within this section are not mandatory. This section extends the DOM Core API to describe objects and methods specific to HTML documents, and XHTML documents. In general, the functionality needed to manipulate hierarchical document structures, elements, and attributes will be found in the core section; functionality that depends on the specific elements defined in HTML will be found in this section. Elements deprecated since HTML 4.01 are not listed. Some elements and attributes listed here are deprecated in XHTML 1.1. For example, presentation attributes, image maps, frames and targets.


    top

    Trident HTML notes
      profile, href, background, action, cite, longDesc, codebase, data, src — Relative URL was not resolved to full URL.

    top

    WebCore HTML notes
      cellIndex — Always return zero *.

    top

    Presto HTML notes
      text — Returns data at src, should return inline data instead (Is it still true?).

    top

    Style (Style Sheets)
    The interfaces found within this section are not mandatory. The interfaces in this section are base interfaces used to represent any type of style sheet.


    top

    Trident Style (Style Sheets) notes
      href — Relative URL is not resolved to full URL.
      media — Returns string instead of MediaList.

    top

    Style (CSS Fundamental)
    The interfaces within this section are considered fundamental CSS interfaces, and must be supported by all conforming implementations of the CSS module. These interfaces represent CSS style sheets specifically.


    top

    Tasman Style (CSS Fundamental) notes
      getPropertyPriority() — Returns !important instead of important.

    top

    Style (CSS Extended)
    The interfaces found within this section are not mandatory.


    top

    Events
    The interfaces found within this section are not mandatory. The first goal is the design of a generic event system which allows registration of event handlers, describes event flow through a tree structure, and provides basic contextual information for each event. The second goal of the event model is to provide a common subset of the current event systems used in DOM Level 0 browsers. See also DOM Events for details.


    top

    Trident Events notes
      button — Does not use W3C values.

    top

    Tasman Events notes
      button — Does not use W3C values.

    top

    Gecko Events notes
      target — Return text node, if any, of the target element node prior to 1.3.
      timeStamp — Returns a string, but should return a Date .

    top

    WebCore Events notes
      target — Return text node, if any, of the target element node (fixed in v73, but reverted in v85).
      clientX, clientY — Treated as pageX and pageY.
      button — Does not use W3C values.

    top

    Presto Events notes
      button — Does not use W3C values prior to 8.0.

    top

    Views
    The interfaces found within this section are not mandatory. A document may have one or more "views" associated with it, e.g., a computed view on a document after applying a CSS stylesheet, or multiple presentations (e.g. HTML frame) of the same document in a client. That is, a view is some alternate representation of, or a presentation of, and associated with, a source document.


    top

    Traversal
    The interfaces found within this section are not mandatory. Its interfaces provide easy-to-use, robust, selective traversal of a document's contents.


    top

    Range
    The interfaces found within this section are not mandatory. It includes methods for creating and moving a Range and methods for manipulating content with Ranges.


    top

    Load and Save
    The interfaces within this section are considered fundamental, and must be fully implemented by all conforming implementations of the DOM Load and Save module.


    top

    Validation
    The interfaces found within this section are not mandatory. This module provides interfaces to guide construction and editing of XML documents. Examples of such guided editing are queries like those that combine questions like "what does the schema allow me to insert/delete here" and "if I insert/delete here, will the document still be valid."


    top

    See also
     
    Search more:
     

       
    Source Privacy License Download Contact Us Atlas
    Scientus.org Dictionary (Yet Another Wiki) RC : 1.39
    MIT OpenCourseWare
    This article is licensed under the GNU Free Documentation License [copyleft]. It uses material from the Wikipedia article "Comparison of layout engines (DOM)". link