Comparison of layout engines (Document Object Model)
The following tables compare DOM compatibility and support for a number of layout engines. Please see the individual products' articles for further information. Unless otherwise specified in footnotes, comparisons are based on the stable versions without any add-ons, extensions or external programs.
For features that are 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. DOM Level 0 and DOM Level 3 modules that are still under development are not included.
Explanation of the tables
Engine nomenclature
Rather than the names of web browsers and HTML to PDF converters, the names of the underlying engines are used. Some of the software and online converters that use the various engines are listed below.
Layout engine | Release version | Preview version | Used by |
---|---|---|---|
Amaya | 11.4.7[1] | N/A | No longer developed; Amaya |
Blink | 537.36 | source code[note 1] | Chromium/Chrome (28+), Opera (15+), Yandex, Liebao and Samsung Browser . |
EdgeHTML | 13.10586 [2] | N/A | Microsoft Edge, Universal Windows Platform (UWP) JavaScript apps |
Gecko | 44.0.2 (February 11, 2016[3]) [±]
|
45.0 Beta 6 (February 16, 2016[5][6]) [±]
46.0a2 (January 26, 2016[7]) [±] daily release
|
All Mozilla software, including Firefox; SeaMonkey and Galeon; Camino; K-Meleon; Flock (up to 2.x); Debian IceWeasel; GNU IceCat (formerly GNU IceWeasel); Cyberfox; Icedove, Iceape and Iceowl; Firefox for mobile ("Fennec"). Also used by the Maple platform in 2010 and 2011 Samsung "SmartTV" devices which are based on the build used in Firefox 3.0. Nokia Asha platform is also using Gecko for web apps rendering. |
KHTML | 4.12.3[9] | N/A | Konqueror[note 2] |
Presto | 2.12.388 | N/A | No longer developed; Opera and Opera Mobile use Blink now; Nintendo DS & DSi Browser; Internet Channel |
Prince | 10 | 20160109 | HTML to PDF converters: Prince (previously called PrinceXML), DocRaptor. The information in the Prince columns is also true of Prince for Books, a related layout engine. |
Tasman | (IE 5.2.3 for Mac) | N/A | No longer developed (aborted in 2003); Internet Explorer 5+ for Mac OS X |
Trident | 7.0 (IE 11) | N/A | Internet Explorer and other Internet Explorer shells like Maxthon (Microsoft Windows operating systems only), Windows Phone 8 |
WebKit | 534.20 | nightly build[note 3] | Tizen (both OS and browser), Safari (both desktop and mobile), Google Chrome (before 28), Maxthon 3, Shiira, iCab 4, OmniWeb 5.5+, Web, Adobe AIR, Midori, Adobe Dreamweaver CS4 and CS5, Android browser, Palm webOS browser, Symbian S60 browser, OWB, Steam, Rekonq, Arora, Flock (version 3+), RockMelt, Dolphin Browser, Sleipnir, Konqueror[note 2]. Used by the LG Smart TV platform to enable web content on TVs. HTML to PDF converters: wkhtmltopdf, PhantomJS, Pdfcrowd[10], http://www.online-convert.com/[11]. |
- ↑ "chromium / chromium/blink". chromium.googlesource.com. Google. Retrieved 2014-05-27.
- 1 2 In Konqueror, the user can switch the used layout engine.
- ↑ "WebKit Nightly Builds". webkit.org. Retrieved 2014-05-27.
Values
Values indicate the level of support in the most recent version of the layout engine, or (if a version number is given) in the specified version. Version numbers without any other value indicate the version at which the layout engine first fully supported the feature.
Value | Meaning |
---|---|
Yes | Indicates that the layout engine fully supports this property/element when valid values are used. |
No | Indicates that the property/element is completely ignored. |
Partial | Indicates that the property/element is understood, but that not all values are supported. Supported values are implemented correctly. |
Incorrect | Indicates that the property/element is understood, but that it is not implemented correctly in all cases. |
Experimental | Indicates that the property/element is understood, but supported under an alternate name. May be incomplete or buggy. |
Dropped | Indicates that the property/element is no longer supported. |
Nightly build | Indicates that the property/element is supported to some extent in an experimental/nightly build. Future support is expected. |
Depends | Indicates that the property/element is supported only on certain platforms, or if certain settings are configured. |
General overview
Trident | Tasman | Gecko | WebKit | KHTML | Presto | |
---|---|---|---|---|---|---|
DOM1 | 6.0 | Yes | 1.0 | 85 | Yes | 1.0 |
DOM2 | Mostly | Partial | Mostly | Partial | Mostly | Mostly |
DOM3 | No | No | Partial | Partial | Partial | Partial |
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.
Trident | Tasman | Gecko | WebKit | KHTML | Presto | ||
---|---|---|---|---|---|---|---|
Exception DOMException | |||||||
DOM1 | code | 5.0[t 1] | ? | 1.0 | ? | ? | 1.0 |
Interface DOMStringList | |||||||
DOM3 | length | 6.0[t 2] | No | 1.6 | No | ? | 2.0 |
contains() | ? | ||||||
item() | ? | ||||||
Interface NameList | |||||||
DOM3 | length | No | No | 1.6 | No | No | No |
getName() | |||||||
getNamespaceURI() | |||||||
contains() | |||||||
containsNS() | |||||||
Interface DOMImplementationList | |||||||
DOM3 | length | No | No | No | No | No | No |
item() | |||||||
Interface DOMImplementationSource | |||||||
DOM3 | getDOMImplementation() | No | No | No | No | No | No |
getDOMImplementationList() | |||||||
Interface DOMImplementation | |||||||
DOM1 | hasFeature() | 6.0 | ? | 1.0 | Yes | ? | 1.0 |
DOM2 | createDocumentType() | 9.0[t 3] | No | ? | 1.0 | ||
createDocument() | ? | ||||||
DOM3 | getFeature() | No | No | No | ? | 1.0 | |
Interface DocumentFragment | |||||||
DOM1 | (no properties) | 6.0 | No | 1.0 | ? | ? | 1.0 |
Interface Document | |||||||
DOM1 | doctype | 9.0 | Yes | Partial | Yes | ? | 1.0 |
createElement() | 4.0 | 1.0 | ? | ||||
createTextNode() | 5.0 | ? | |||||
createAttribute() | 6.0 | ? | |||||
documentElement | 5.0 | ? | |||||
getElementsByTagName() | ? | ||||||
implementation | 6.0 | ? | |||||
createDocumentFragment() | No | ? | |||||
createComment() | ? | ||||||
createCDATASection() | 9.0[t 3] | ? | |||||
createProcessingInstruction() | ? | 1.7 | ? | ||||
createEntityReference() | No | ? | No | ? | No | ||
DOM2 | importNode() | 9.0[t 3] | No | 1.0 | Yes | ? | 1.0 |
createElementNS() | ? | ||||||
createAttributeNS() | ? | ||||||
getElementsByTagNameNS() | ? | ||||||
getElementById() | 8.0 | Yes | ? | 2.1 | |||
DOM3 | adoptNode() | 9.0[t 3] | No | 1.7 | Yes | ? | 2.0 |
inputEncoding | No | ? | No | ||||
xmlEncoding | ? | ||||||
xmlStandalone | ? | ||||||
xmlVersion | ? | ||||||
domConfig | No | No | ? | ||||
strictErrorChecking | 1.7 | ? | |||||
documentURI | ? | ||||||
normalizeDocument() | ? | ||||||
renameNode() | ? | ||||||
Interface Node | |||||||
DOM1 | nodeName | 5.0 | Yes | 1.0 | Yes | ? | 1.0 |
nodeValue | ? | ||||||
nodeType | ? | ||||||
parentNode | ? | ||||||
childNodes | ? | ||||||
firstChild | ? | ||||||
lastChild | ? | ||||||
previousSibling | ? | ||||||
nextSibling | ? | ||||||
attributes | ? | ||||||
cloneNode() | ? | ||||||
insertBefore() | Partial | ? | |||||
replaceChild() | ? | ||||||
removeChild() | ? | ||||||
appendChild() | ? | ||||||
ownerDocument | 6.0 | 1.9 | ? | ||||
hasChildNodes() | 1.0 | ? | |||||
DOM2 | namespaceURI | 5.0 | Yes | 1.0 | Yes | ? | 1.0 |
prefix | ? | ||||||
localName | ? | ||||||
isSupported() | 9.0[t 3] | ? | |||||
hasAttributes() | ? | ||||||
DOM3 | isSameNode() | 9.0 | No | 1.8 | Yes | ? | 2.1 |
compareDocumentPosition() | 9.0[t 3] | 1.7 | 4.2.4 | ||||
baseURI | No | ? | Yes | ||||
textContent | 9.0[t 3] | ? | 2.0 | ||||
lookupPrefix() | ? | ||||||
isDefaultNamespace() | ? | ||||||
lookupNamespaceURI() | ? | ||||||
getFeature() | No | ? | |||||
setUserData() | ? | No | |||||
getUserData() | ? | ||||||
isEqualNode() | 9.0[t 3] | 1.9 | ? | 2.7 | |||
Interface NodeList | |||||||
DOM1 | length | 5.0 | Yes | 1.0 | Yes | ? | 1.0 |
item() | ? | ||||||
Interface NamedNodeMap | |||||||
DOM1 | length | 5.0 | Yes | 1.0 | Yes | ? | 1.0 |
getNamedItem() | ? | ||||||
setNamedItem() | ? | ||||||
removeNamedItem() | ? | ||||||
item() | ? | ||||||
DOM2 | getNamedItemNS() | 9.0[t 3] | No | 1.0 | Yes | ? | 1.0 |
setNamedItemNS() | ? | ||||||
removeNamedItemNS() | ? | ||||||
Interface CharacterData | |||||||
DOM1 | data | 4.0 | Yes | 1.0 | Yes | ? | 1.0 |
length | ? | ||||||
substringData() | ? | ||||||
appendData() | ? | ||||||
insertData() | ? | ||||||
deleteData() | ? | ||||||
replaceData() | ? | ||||||
Interface Attr | |||||||
DOM1 | name | 6.0 | ? | 1.0 | Yes | Yes | 1.0 |
value | ? | ||||||
specified | Incorrect | Incorrect | 1.9.1 | Yes | Yes | ||
DOM2 | ownerElement | 9.0[t 3] | ? | 1.0 | Yes | Yes | 1.0 |
DOM3 | schemaTypeInfo | No | No | No | No | ? | No |
isId | 1.9 | No | |||||
Interface Element | |||||||
DOM1 | tagName | 4.0 | Yes | 1.0 | Yes | Yes | 1.0 |
getElementsByTagName() | |||||||
getAttribute() | 8.0 | ||||||
setAttribute() | |||||||
removeAttribute() | |||||||
getAttributeNode() | 6.0 | ||||||
setAttributeNode() | 9.0[t 3] | ||||||
removeAttributeNode() | |||||||
normalize() | No | ? | |||||
DOM2 | getAttributeNS() | 9.0[t 3] | Yes | 1.0 | Yes | ? | 1.0 |
setAttributeNS() | ? | ||||||
removeAttributeNS() | ? | ||||||
getAttributeNodeNS() | ? | ||||||
setAttributeNodeNS() | ? | ||||||
getElementsByTagNameNS() | No | ? | |||||
hasAttribute() | Yes | ? | |||||
hasAttributeNS() | ? | ||||||
DOM3 | schemaTypeInfo | No | No | No | No | ? | No |
setIdAttribute() | ? | ||||||
setIdAttributeNS() | ? | ||||||
setIdAttributeNode() | ? | ||||||
Interface Text | |||||||
DOM1 | splitText() | 9.0[t 3] | Yes | 1.0 | Yes | ? | 1.0 |
DOM3 | isElementContentWhitespace | No | No | 1.9.1 | No | ? | Yes |
wholeText | 9.0[t 3] | ? | 2.1 | ||||
replaceWholeText() | ? | ||||||
Interface Comment | |||||||
DOM1 | (no properties) | 6.0 | No | 1.0 | Yes | ? | 1.0 |
Interface TypeInfo | |||||||
DOM3 | typeName | No | No | No | No | No | No |
typeNamespace | |||||||
isDerivedFrom() | |||||||
Interface UserDataHandler | |||||||
DOM3 | handle() | No | No | No | No | No | No |
Interface DOMError | |||||||
DOM3 | severity | No | No | No | No | No | 2.0 |
message | |||||||
type | |||||||
location | |||||||
relatedData | |||||||
relatedException | No | ||||||
Interface DOMErrorHandler | |||||||
DOM3 | handleError() | No | No | No | No | No | 2.0 |
Interface DOMLocator | |||||||
DOM3 | lineNumber | No | No | No | No | No | 2.0 |
columnNumber | |||||||
byteOffset | |||||||
utf16Offset | |||||||
relatedNode | |||||||
uri | |||||||
Interface DOMConfiguration | |||||||
DOM3 | parameterNames | No | No | No | No | ? | 2.0 |
setParameter() | ? | ||||||
getParameter() | ? | ||||||
canSetParameter() | ? |
Trident Core (Fundamental) notes
- doctype — Prior to version 9.0, returns true when checked but always contains null.
- getElementById() — Prior to version 8.0 returned elements with name attribute set to value being found, not only id.[t 4]
- getAttribute(), setAttribute(), removeAttribute() — prior to version 8.0 returned, set, or removed, respectively, the corresponding DOM property instead of the string value of the attribute.
- AttributeNode.specified — Does not set
specified
totrue
if ownerElement is null. - Node.isSameNode — Prior to version 9.0, only supported for XML documents.
Tasman Core (Fundamental) notes
- AttributeNode.specified — Does not set
specified
totrue
if ownerElement is null.
Gecko Core (Fundamental) notes
- insertBefore(), replaceChild(), removeChild(), appendChild() — Fails on
Attr
nodes.[g 1]appendChild
does not work as expected forDocumentFragment
nodes prior to 1.8. - AttributeNode.specified — Prior to 1.9.1 does not set
specified
totrue
if ownerElement is null. Does not create Attribute Nodes for default values specified in the DTD.
Presto Core (Fundamental) notes
- getElementById() — Versions prior to Opera 9.50 returns elements with name attribute set to value being found, not only id.[p 1]
- URI attribute value — In versions prior to Opera 9, all URI attribute values are resolved to full URI. Hence the value from
getAttribute()
andgetAttributeNode()
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.
WebKit Core (Fundamental) notes
- AttributeNode.specified — Does not create Attribute Nodes for default values specified in the DTD.
KHTML Core (Fundamental) notes
- AttributeNode.specified — Does not create Attribute Nodes for default values specified in the DTD.
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.
Trident | Tasman | Gecko | WebKit | KHTML | Presto | ||
---|---|---|---|---|---|---|---|
Interface CDATASection | |||||||
DOM1 | (no properties) | No | No | 1.0 | Yes | ? | 2.0 |
Interface DocumentType | |||||||
DOM1 | name | No | No | 1.0 | Yes | ? | 1.0 |
entities | No[g 2] | ? | |||||
notations | ? | ||||||
DOM2 | publicId | No | No | 1.0 | Yes | ? | 1.0 |
systemId | ? | ||||||
internalSubset | ? | ||||||
Interface Notation | |||||||
DOM1 | publicId | No | No | 1.0 | Yes | ? | 2.0 |
systemId | ? | ||||||
Interface Entity | |||||||
DOM1 | publicId | No | No | 1.0 | Yes | ? | No |
systemId | ? | ||||||
notationName | ? | ||||||
DOM3 | inputEncoding | No | No | No | No | ? | No |
xmlEncoding | ? | ||||||
xmlVersion | ? | ||||||
Interface EntityReference | |||||||
DOM1 | (no properties) | No | No | 1.0 | Yes | ? | No |
Interface ProcessingInstruction | |||||||
DOM1 | target | No | No | 1.0 | Yes | ? | 2.0 |
data | ? |
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.
Trident | Tasman | Gecko | WebKit | KHTML | Presto | ||
---|---|---|---|---|---|---|---|
Interface HTMLCollection | |||||||
DOM1 | length | 7.0 | ? | 1.0 | ? | ? | 1.0 |
item() | ? | ? | ? | ||||
namedItem() | ? | ? | ? | ||||
Interface HTMLOptionsCollection | |||||||
DOM2 | length | ? | ? | 1.0 | ? | ? | 2.0 |
item() | ? | ? | ? | ? | |||
namedItem() | ? | ? | ? | ? | |||
Interface HTMLDocument | |||||||
DOM1 | domain | 4.0 | Yes | 1.0 | Yes | ? | 1.0 |
URL | ? | ||||||
body | ? | ||||||
images | ? | ||||||
applets | ? | ||||||
title | 3.0 | ? | |||||
referrer | ? | ||||||
links | ? | ||||||
forms | ? | ||||||
anchors | ? | ||||||
cookie | ? | ||||||
open() | ? | ||||||
close() | ? | ||||||
write() | ? | ||||||
writeln() | ? | ||||||
getElementsByName() | Yes | ? | ? | ||||
Interface HTMLElement | |||||||
DOM1 | id | 4.0 | Yes | 1.0 | ? | ? | 1.0 |
title | ? | ? | |||||
lang | ? | ? | |||||
className | ? | ? | |||||
dir | 5.0 | ? | ? | ||||
Interface HTMLHtmlElement | |||||||
DOM1 | version | 6.0 | ? | 1.0 | ? | ? | 2.0 |
Interface HTMLHeadElement | |||||||
DOM1 | profile | 8.0 | ? | 1.0 | ? | ? | 1.0 |
Interface HTMLLinkElement | |||||||
DOM1 | disabled | 4.0 | Yes | 1.0 | ? | ? | 1.0 |
charset | ? | ? | |||||
href | 8.0 | ? | ? | ||||
hreflang | 4.0 | ? | ? | ||||
media | ? | ? | |||||
rel | ? | ? | |||||
rev | ? | ? | |||||
target | ? | ? | |||||
type | ? | ? | |||||
Interface HTMLTitleElement | |||||||
DOM1 | text | 4.0 | Yes | 1.0 | ? | ? | 1.0 |
Interface HTMLMetaElement | |||||||
DOM1 | content | 4.0 | Yes | 1.0 | ? | ? | 1.0 |
httpEquiv | ? | ? | |||||
name | ? | ? | |||||
scheme | 6.0 | ? | ? | ? | 2.0 | ||
Interface HTMLBaseElement | |||||||
DOM1 | href | 8.0 | Yes | 1.0 | ? | ? | 2.0 |
target | 4.0 | ? | ? | ||||
Interface HTMLStyleElement | |||||||
DOM2 | disabled | ? | ? | 1.0 | ? | ? | 1.0 |
media | 4.0 | Yes | ? | ? | |||
type | ? | ? | |||||
Interface HTMLBodyElement | |||||||
DOM1 | aLink | 4.0 | Yes | 1.0 | ? | ? | 1.0 |
background | 8.0 | ? | ? | ||||
bgColor | 4.0 | ? | ? | ||||
link | ? | ? | |||||
text | ? | ? | |||||
vLink | ? | ? | |||||
Interface HTMLFormElement | |||||||
DOM1 | action | 8.0 | Yes | 1.9 | ? | ? | 1.0 |
acceptEncoding | ? | ? | 1.0 | ? | ? | ||
elements | 3.0 | Yes | ? | ? | |||
length | ? | ? | |||||
name | ? | ? | |||||
enctype | 4.0 | ? | ? | ||||
method | 3.0 | ? | ? | ||||
target | ? | ? | |||||
submit() | ? | ? | |||||
reset() | 4.0 | ? | ? | ||||
Interface HTMLSelectElement | |||||||
DOM1 | selectedIndex | 3.0 | Yes | 1.0 | ? | ? | 1.0 |
length | ? | ? | |||||
options | ? | ? | |||||
name | ? | ? | |||||
size | 4.0 | ? | ? | ||||
type | ? | ? | |||||
value | ? | ? | |||||
disabled | 5.0 | ? | ? | ||||
multiple | ? | ? | |||||
form | ? | ? | ? | ? | |||
tabIndex | ? | ? | ? | ? | |||
add() | ? | ? | ? | ? | |||
remove() | ? | ? | ? | ? | |||
blur() | 3.0 | Yes | ? | ? | |||
focus() | ? | ? | |||||
Interface HTMLOptGroupElement | |||||||
DOM1 | disabled | ? | ? | 1.0 | ? | ? | 2.0 |
label | No | Yes | ? | ? | |||
Interface HTMLOptionElement | |||||||
DOM1 | form | 4.0 | Yes | 1.0 | ? | ? | 1.0 |
defaultSelected | ? | ? | |||||
text | ? | ? | |||||
index | ? | ? | ? | ? | |||
disabled | ? | ? | ? | ? | |||
label | 6.0 | Yes | ? | ? | 2.0 | ||
selected | 4.0 | ? | ? | 1.0 | |||
value | ? | ? | |||||
Interface HTMLInputElement | |||||||
DOM1 | defaultValue | 3.0 | Yes | 1.0 | ? | ? | 1.0 |
defaultChecked | ? | ? | |||||
form | ? | ? | |||||
accept | ? | ? | ? | ? | |||
accesskey | ? | ? | ? | ? | |||
align | ? | ? | ? | ? | |||
alt | ? | ? | ? | ? | |||
checked | 3.0 | Yes | ? | ? | |||
disabled | 5.0 | ? | ? | ||||
maxLength | 4.0 | ? | ? | 2.0 | |||
name | 3.0 | ? | ? | 1.0 | |||
readOnly | 4.0 | ? | ? | ||||
size | ? | ? | |||||
src | 1.9 | ? | ? | ||||
tabIndex | ? | ? | 1.0 | ? | ? | ||
type | 4.0 | Yes | ? | ? | |||
useMap | ? | ? | ? | ? | |||
value | 3.0 | Yes | ? | ? | |||
blur() | ? | ? | |||||
focus() | ? | ? | |||||
select() | ? | ? | |||||
click() | ? | ? | |||||
Interface HTMLTextAreaElement | |||||||
DOM1 | defaultValue | 3.0 | Yes | 1.0 | ? | ? | 1.0 |
form | ? | ? | |||||
accesskey | ? | ? | ? | ? | |||
cols | 4.0 | Yes | ? | ? | |||
disabled | 5.0 | ? | ? | ||||
name | 3.0 | ? | ? | ||||
readOnly | 4.0 | ? | ? | ||||
rows | ? | ? | |||||
tabIndex | ? | ? | ? | ? | |||
type | 4.0 | Yes | ? | ? | |||
value | 3.0 | ? | ? | ||||
blur() | ? | ? | |||||
focus() | ? | ? | |||||
select() | ? | ? | |||||
Interface HTMLButtonElement | |||||||
DOM1 | form | 3.0 | Yes | 1.0 | ? | ? | 1.0 |
accesskey | ? | ? | ? | ? | |||
disabled | 5.0 | Yes | ? | ? | |||
name | 3.0 | ? | ? | ||||
tabIndex | ? | ? | ? | ? | |||
type | 3.0 | Yes | ? | ? | |||
value | ? | ? | |||||
Interface HTMLLabelElement | |||||||
DOM1 | form | 6.0 | Yes | 1.0 | ? | ? | 1.0 |
accesskey | 5.0 | ? | ? | ||||
htmlFor | 4.0 | ? | ? | ||||
Interface HTMLFieldSetElement | |||||||
DOM1 | form | 5.0 | Yes | 1.0 | ? | ? | 1.0 |
Interface HTMLLegendElement | |||||||
DOM1 | form | 5.0 | Yes | 1.0 | ? | ? | 1.0 |
accesskey | ? | ? | ? | ? | |||
align | 5.0 | Yes | ? | ? | |||
Interface HTMLUListElement | |||||||
DOM1 | compact | 4.0 | Yes | 1.0 | ? | ? | 1.0 |
type | ? | ? | |||||
Interface HTMLOListElement | |||||||
DOM1 | compact | 4.0 | Yes | 1.0 | ? | ? | 1.0 |
start | ? | ? | |||||
type | ? | ? | |||||
Interface HTMLDListElement | |||||||
DOM1 | compact | 4.0 | Yes | 1.0 | ? | ? | 1.0 |
Interface HTMLLIElement | |||||||
DOM1 | type | 4.0 | Yes | 1.0 | ? | ? | 1.0 |
value | ? | ? | |||||
Interface HTMLDivElement | |||||||
DOM1 | align | ? | ? | 1.0 | ? | ? | 1.0 |
Interface HTMLParagraphElement | |||||||
DOM1 | align | ? | ? | 1.0 | ? | ? | 1.0 |
Interface HTMLHeadingElement | |||||||
DOM1 | align | 4.0 | Yes | 1.0 | ? | ? | 1.0 |
Interface HTMLQuoteElement | |||||||
DOM1 | cite | 8.0 | Yes | 1.0 | ? | ? | 1.0 |
Interface HTMLPreElement | |||||||
DOM1 | width | ? | ? | 1.0 | ? | ? | 1.0 |
Interface HTMLBRElement | |||||||
DOM1 | clear | 4.0 | Yes | 1.0 | ? | ? | 1.0 |
Interface HTMLHRElement | |||||||
DOM1 | align | 4.0 | Yes | 1.0 | ? | ? | 1.0 |
noShade | ? | ? | |||||
size | ? | ? | |||||
width | ? | ? | |||||
Interface HTMLModElement | |||||||
DOM1 | cite | 8.0 | ? | 1.9 | ? | ? | 1.0 |
dateTime | ? | ? | 1.0 | ? | ? | ||
Interface HTMLAnchorElement | |||||||
DOM1 | accesskey | ? | ? | 1.0 | ? | ? | 1.0 |
charset | 6.0 | Yes | ? | ? | |||
coords | ? | ? | |||||
href | 3.0 | ? | ? | ||||
hreflang | 6.0 | ? | ? | ||||
name | 4.0 | ? | ? | ||||
rel | ? | ? | |||||
rev | ? | ? | |||||
shape | 6.0 | ? | ? | ||||
tabIndex | ? | ? | ? | ? | |||
target | 3.0 | Yes | ? | ? | |||
type | 6.0 | ? | ? | ||||
blur() | ? | ? | ? | ? | |||
focus() | ? | ? | ? | ? | |||
Interface HTMLImageElement | |||||||
DOM1 | name | 4.0 | Yes | 1.0 | ? | ? | 1.0 |
align | ? | ? | |||||
alt | ? | ? | |||||
border | ? | ? | |||||
height | ? | ? | |||||
hspace | ? | ? | |||||
isMap | ? | ? | |||||
longDesc | 8.0 | ? | ? | ? | 2.0 | ||
src | 4.0 | Yes | ? | ? | 1.0 | ||
useMap | ? | ? | |||||
vspace | ? | ? | |||||
width | ? | ? | |||||
Interface HTMLObjectElement | |||||||
DOM1 | form | ? | ? | 1.0 | ? | ? | 1.0 |
code | 4.0 | Yes | ? | ? | |||
align | ? | ? | |||||
archive | ? | ? | ? | ? | |||
border | ? | ? | ? | ? | |||
codeBase | 8.0 | Yes | ? | ? | |||
codeType | 4.0 | ? | ? | ||||
data | 8.0 | ? | ? | ||||
declare | ? | ? | ? | ? | 2.0 | ||
height | 4.0 | Yes | ? | ? | 1.0 | ||
hspace | ? | ? | |||||
name | ? | ? | |||||
standby | ? | ? | ? | ? | |||
tabIndex | ? | ? | ? | ? | |||
type | 4.0 | Yes | ? | ? | |||
useMap | ? | ? | ? | ? | |||
vspace | 4.0 | Yes | ? | ? | |||
width | ? | ? | |||||
DOM2 | contentDocument | No | ? | ? | 2.0 | ||
Interface HTMLParamElement | |||||||
DOM1 | name | ? | ? | 1.0 | ? | ? | 1.0 |
type | ? | ? | ? | ? | |||
value | ? | ? | ? | ? | |||
valueType | No | ? | ? | ? | |||
Interface HTMLMapElement | |||||||
DOM1 | areas | 4.0 | Yes | 1.0 | ? | ? | 1.0 |
name | ? | ? | |||||
Interface HTMLAreaElement | |||||||
DOM1 | accesskey | ? | ? | 1.0 | ? | ? | 1.0 |
alt | 4.0 | Yes | ? | ? | |||
coords | ? | ? | |||||
hrefs | ? | ? | ? | ? | |||
noHrefs | ? | ? | ? | ? | |||
shape | 4.0 | Yes | ? | ? | |||
tabIndex | ? | ? | ? | ? | |||
target | 4.0 | Yes | ? | ? | |||
Interface HTMLScriptElement | |||||||
DOM1 | text | 4.0 | 0 | 1.0 | ? | ? | 1.0 |
htmlFor (reserved for future use) | Yes | ? | ? | No | |||
event (reserved for future use) | ? | ? | 2.0 | ||||
charset | ? | ? | ? | ? | 1.0 | ||
defer | 4.0 | Yes | ? | ? | |||
src | 8.0 | ? | ? | ||||
type | 4.0 | ? | ? | ||||
target | ? | ? | ? | ? | |||
Interface HTMLTableElement | |||||||
DOM1 | caption | 4.0 | Yes | 1.0 | ? | ? | 1.0 |
tHead | ? | ? | |||||
tFoot | ? | ? | |||||
rows | ? | ? | |||||
tBodies | ? | ? | |||||
align | ? | ? | |||||
bgColor | ? | ? | |||||
border | ? | ? | |||||
cellPadding | No | ? | |||||
cellSpacing | ? | ? | |||||
frame | ? | ? | |||||
rules | No | ? | ? | ||||
summary | 6.0 | ? | ? | ||||
width | 4.0 | Yes | ? | ? | |||
createTHead() | ? | ? | |||||
deleteTHead() | ? | ? | |||||
createTFoot() | ? | ? | |||||
deleteTFoot() | ? | ? | |||||
createCaption() | ? | ? | |||||
deleteCaption() | ? | ? | |||||
insertRow() | ? | ? | |||||
deleteRow() | ? | ? | |||||
Interface HTMLTableCaptionElement | |||||||
DOM1 | align | 5.0 | Yes | 1.0 | ? | ? | 1.0 |
Interface HTMLTableColElement | |||||||
DOM1 | align | 4.0 | Yes | 1.0 | ? | ? | 1.0 |
ch | 6.0 | No | ? | ? | 2.0 | ||
chOff | ? | ? | |||||
span | 5.0 | Yes | ? | ? | 1.0 | ||
vAlign | 4.0 | ? | ? | ||||
width | 5.0 | 0 | ? | ? | |||
Interface HTMLTableSectionElement | |||||||
DOM1 | align | 4.0 | Yes | 1.0 | ? | ? | 1.0 |
ch | 6.0 | No | ? | ? | 2.0 | ||
chOff | ? | ? | |||||
vAlign | 4.0 | Yes | ? | ? | 1.0 | ||
rows | ? | ? | |||||
insertRow() | ? | ? | |||||
deleteRow() | ? | ? | |||||
Interface HTMLTableRowElement | |||||||
DOM1 | rowIndex | 4.0 | Yes | 1.0 | ? | ? | 1.0 |
sectionRowIndex | ? | ? | |||||
cells | ? | ? | |||||
align | ? | ? | |||||
bgColor | ? | ? | |||||
ch | 6.0 | No | ? | ? | 2.0 | ||
chOff | ? | ? | |||||
vAlign | 4.0 | Yes | ? | ? | 1.0 | ||
insertCell() | ? | ? | |||||
deleteCell() | ? | ? | |||||
Interface HTMLTableCellElement | |||||||
DOM1 | cellIndex | 4.0 | Yes | 1.0 | Incorrect | ? | 1.0 |
abbr | 6.0 | ? | ? | 2.0 | |||
align | 4.0 | ? | ? | 1.0 | |||
axis | 6.0 | ? | ? | ||||
bgColor | 4.0 | ? | ? | ||||
ch | 6.0 | No | ? | ? | 2.0 | ||
chOff | ? | ? | |||||
colSpan | 4.0 | Yes | ? | ? | 1.0 | ||
headers | 6.0 | ? | ? | ||||
height | 4.0 | ? | ? | ||||
noWrap | ? | ? | |||||
rowSpan | ? | ? | |||||
scope | ? | ? | ? | ? | |||
vAlign | 4.0 | Yes | ? | ? | |||
width | ? | ? | |||||
Interface HTMLFrameSetElement | |||||||
DOM1 | cols | 4.0 | Yes | 1.0 | ? | ? | 1.0 |
rows | ? | ? | |||||
Interface HTMLFrameElement | |||||||
DOM1 | frameBorder | 4.0 | Yes | 1.0 | ? | ? | 1.0 |
longDesc | 8.0 | ? | ? | ||||
marginHeight | 6.0 | ? | ? | ||||
marginWidth | ? | ? | |||||
name | 4.0 | ? | ? | ||||
noResize | ? | ? | |||||
scrolling | ? | ? | |||||
src | 8.0 | ? | ? | ||||
DOM2 | contentDocument | No | Yes | 1.0 | ? | ? | 1.0 |
Interface HTMLIFrameSetElement | |||||||
DOM1 | align | 4.0 | Yes | 1.0 | ? | ? | 1.0 |
frameBorder | ? | ? | ? | ? | |||
height | 4.0 | Yes | ? | ? | |||
longDesc | 8.0 | ? | ? | ||||
marginHeight | 4.0 | ? | ? | ||||
marginWidth | ? | ? | |||||
name | ? | ? | |||||
scrolling | ? | ? | |||||
src | 8.0 | ? | ? | ||||
width | 4.0 | ? | ? | ||||
DOM2 | contentDocument | No | ? | ? |
Trident HTML notes
- profile, href, background, action, cite, longDesc, codebase, data, src — Prior to version 8.0 relative URLs were not resolved to full URLs.[t 5]
WebKit HTML notes
- cellIndex — Always return zero.
Presto HTML notes
- text — Opera 8 and lower returned data at
src
, when it should return inline data instead.
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.
Trident | Tasman | Gecko | WebKit | KHTML | Presto | ||
---|---|---|---|---|---|---|---|
Interface StyleSheet | |||||||
DOM2 | type | 6.0 | ? | 1.0 | Yes | ? | 2.0 |
disabled | ? | ? | |||||
ownerNode | No | ? | ? | ||||
parentStyleSheet | 6.0 | ? | ? | ||||
href | 8.0 | ? | ? | ||||
title | 6.0 | ? | ? | ||||
media | Incorrect | ? | ? | ||||
Interface StyleSheetList | |||||||
DOM2 | length | 6.0 | ? | 1.0 | Yes | ? | 2.0 |
item() | ? | ? | |||||
Interface MediaList | |||||||
DOM2 | mediaText | No | ? | 1.0 | Yes | ? | 2.0 |
length | ? | ? | |||||
item() | ? | ? | |||||
deleteMedium() | ? | ? | |||||
appendMedium() | ? | ? | |||||
Interface LinkStyle | |||||||
DOM2 | sheet | No | ? | 1.0 | No | ? | 2.0 |
Interface DocumentStyle | |||||||
DOM2 | styleSheets | No | ? | 1.0 | No | ? | 2.0 |
Trident Style (Style Sheets) notes
- href — Prior to version 8.0 relative URLs were not resolved to full URLs.[t 5]
- media — Returns string instead of
MediaList
.
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.
Trident | Tasman | Gecko | WebKit | KHTML | Presto | ||
---|---|---|---|---|---|---|---|
Interface CSSStyleSheet | |||||||
DOM2 | ownerRule | No | ? | 1.0 | ? | ? | 2.0 |
cssRules | Yes | 1.3 | ? | ||||
insertRule() | No | No | ? | ||||
deleteRule() | ? | ||||||
Interface StyleSheetList | |||||||
DOM2 | length | 6.0 | ? | 1.0 | ? | ? | 2.0 |
item() | ? | ? | ? | ||||
Interface CSSRuleList | |||||||
DOM2 | length | No | ? | 1.0 | ? | ? | 2.0 |
item() | ? | ? | ? | ||||
Interface CSSRule | |||||||
DOM2 | type | No | ? | 1.0 | ? | ? | 2.0 |
cssText | Yes | ? | ? | ||||
parentStyleSheet | 1.3 | ? | |||||
parentRule | ? | ? | ? | ||||
Interface CSSStyleRule | |||||||
DOM2 | selectorText | 6.0 | Yes | 1.0 | 1.3 | ? | 2.0 |
style | No | ? | ? | ? | |||
Interface CSSMediaRule | |||||||
DOM2 | media | No | ? | 1.0 | ? | ? | 2.0 |
cssRules | ? | ? | ? | ||||
insertRule() | ? | ? | ? | ||||
deleteRule() | ? | ? | ? | ||||
Interface CSSFontFaceRule | |||||||
DOM2 | style | No | ? | 1.9.1[g 3] | ? | ? | 2.0 |
Interface CSSPageRule | |||||||
DOM2 | selectorText | No | ? | No[g 4] | ? | ? | 2.0 |
style | ? | ? | ? | ||||
Interface CSSImportRule | |||||||
DOM2 | href | No | Yes | 1.0 | 1.3 | ? | 2.0 |
media | ? | ? | ? | ||||
styleSheet | ? | ? | ? | ||||
Interface CSSCharsetRule | |||||||
DOM2 | encoding | No | ? | 1.0 | ? | ? | 2.0 |
Interface CSSUnknownRule | |||||||
DOM2 | (no properties) | No | ? | No[g 5] | ? | ? | 2.0 |
Interface CSSStyleDeclaration | |||||||
DOM2 | cssText | No | ? | 1.0 | ? | ? | 2.0 |
length | ? | ? | ? | ||||
parentRule | ? | ? | ? | ||||
getPropertyValue() | Yes | 1.3 | ? | 1.0 | |||
getPropertyCSSValue() | ? | No[g 6] | ? | ? | 2.0 | ||
removeProperty() | No | 1.0 | 1.3 | ? | 1.0 | ||
getPropertyPriority() | Incorrect | ? | ? | 2.0 | |||
setProperty() | Yes | 1.3 | ? | 1.0 | |||
item() | ? | ? | ? | 2.0 | |||
Interface CSSValue | |||||||
DOM2 | cssText | No | ? | No[g 6] | ? | ? | No |
cssValueType | ? | ? | ? | ||||
Interface CSSPrimitiveValue | |||||||
DOM2 | primitiveType | No | ? | No[g 7] | ? | ? | No |
setFloatValue() | ? | No | ? | ? | |||
getFloatValue() | ? | ? | ? | ||||
setStringValue() | ? | ? | ? | ||||
getStringValue() | ? | ? | ? | ||||
getCounterValue() | ? | ? | ? | ||||
getRectValue() | ? | ? | ? | ||||
getRGBColorValue() | ? | ? | ? | ||||
Interface CSSValueList | |||||||
DOM2 | length | No | ? | No | ? | ? | No |
item() | ? | ? | ? | ||||
Interface RGBColor | |||||||
DOM2 | red | No | ? | No | ? | ? | No |
green | ? | ? | ? | ||||
blue | ? | ? | ? | ||||
Interface Rect | |||||||
DOM2 | top | No | ? | No | ? | ? | No |
right | ? | ? | ? | ||||
bottom | ? | ? | ? | ||||
left | ? | ? | ? | ||||
Interface Counter | |||||||
DOM2 | identifier | No | ? | No | ? | ? | No |
listStyle | ? | ? | ? | ||||
separator | ? | ? | ? | ||||
Interface ViewCSS | |||||||
DOM2 | getComputedStyle() | No | No | 1.0 | No | ? | 1.0 |
Interface DocumentCSS | |||||||
DOM2 | getOverrideStyle() | No | ? | No[g 8] | ? | ? | No |
Interface DOMImplementationCSS | |||||||
DOM2 | createCSSStyleSheet() | No | ? | No[g 9] | ? | ? | No |
Interface ElementCSSInlineStyle | |||||||
DOM2 | style | 6.0 | Yes | 1.0 | 1.3 | Yes | 1.0 |
Tasman Style (CSS Fundamental) notes
- getPropertyPriority() — Returns
!important
instead ofimportant
.
Style (CSS Extended)
The interfaces found within this section are not mandatory.
Trident | Tasman | Gecko | WebKit | KHTML | Presto | ||
---|---|---|---|---|---|---|---|
Interface CSS2Properties | |||||||
DOM2 | Support this interface | 4.0 | Yes | 1.0 | ? | ? | 1.0 |
Properties | Please refer to Comparison of layout engines (Cascading Style Sheets) for the comparison of CSS properties. |
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.
Trident | Tasman | Gecko | WebKit | KHTML | Presto | ||
---|---|---|---|---|---|---|---|
Interface EventTarget | |||||||
DOM2 | addEventListener() | 5.0[t 6] | No | 1.0 | Yes | Yes | 1.0 |
removeEventListener() | |||||||
dispatchEvent() | ? | ? | |||||
Interface EventListener | |||||||
DOM2 | handleEvent() | ? | ? | ? | ? | ? | 1.0 |
Interface Event | |||||||
DOM2 | type | 4.0 | Yes | 1.0 | ? | ? | 1.0 |
target | No | 1.3 | Incorrect | ? | |||
currentTarget | No | 1.0 | ? | ? | |||
eventPhase | ? | ? | |||||
bubbles | ? | ? | |||||
cancelable | ? | ? | |||||
timeStamp | Yes | ? | ? | ||||
stopPropagation() | 1.0 | ? | ? | ||||
preventDefault() | ? | ? | |||||
initEvent() | ? | ? | |||||
Exception EventException | |||||||
DOM2 | code | No | No | 1.0 | ? | ? | 1.0 |
Interface DocumentEvent | |||||||
DOM2 | createEvent() | No | No | 1.0 | ? | ? | 1.0 |
Interface UIEvent | |||||||
DOM2 | view | No | No | No[g 10] | ? | ? | 1.0 |
detail | ? | ? | |||||
initUIEvent() | ? | ? | |||||
Events for interface UIEvent | |||||||
DOM2 | DOMFocusIn | No | No | No[g 10] | ? | ? | 1.0 |
DOMFocusOut | ? | ? | |||||
DOMActivate | ? | ? | |||||
Interface MouseEvent | |||||||
DOM2 | screenX | 4.0 | Yes | 1.0 | Yes | ? | 1.0 |
screenY | ? | ||||||
clientX | Incorrect | ? | |||||
clientY | Incorrect | ? | |||||
ctrlKey | Yes | ? | |||||
shiftKey | ? | ||||||
altKey | ? | ||||||
metaKey | No | No | ? | ||||
button | Incorrect | Incorrect | Incorrect | ? | 1.0 | ||
relatedTarget | No | No | Yes | ? | 1.0 | ||
initMouseEvent() | ? | ? | ? | ? | |||
Events for interface MouseEvent | |||||||
DOM2 | click | 4.0 | Yes | 1.0 | ? | ? | 1.0 |
mousedown | ? | ? | |||||
mouseup | ? | ? | |||||
mouseover | ? | ? | |||||
mousemove | ? | ? | |||||
mouseout | ? | ? | |||||
Interface MutationEvent | |||||||
DOM2 | relatedNode | No | No | 1.0 | ? | ? | 1.0 |
prevValue | ? | ? | |||||
newValue | ? | ? | |||||
attrName | ? | ? | |||||
attrChange | ? | ? | |||||
initMutationEvent | ? | ? | |||||
Events for interface MutationEvent | |||||||
DOM2 | DOMSubtreeModified | 5.0[t 7] | No | 1.9 | Yes | Partial | No |
DOMNodeInserted | 1.0 | No | 1.0 | ||||
DOMNodeRemoved | |||||||
DOMNodeRemovedFromDocument | No[g 11] | ||||||
DOMNodeInsertedIntoDocument | Yes | ||||||
DOMAttrModified | 1.0 | No | No | ||||
DOMCharacterDataModified | Yes | ||||||
Events for HTML | |||||||
DOM2 | load | 4.0 | Yes | 1.0 | ? | ? | 2.0 |
unload | ? | ? | |||||
abort | ? | ? | No | ||||
error | ? | ? | 2.0 | ||||
select | ? | ? | |||||
change | ? | ? | |||||
submit | ? | ? | |||||
reset | ? | ? | |||||
focus | ? | ? | |||||
blur | ? | ? | |||||
resize | ? | ? | |||||
scroll | ? | ? |
Trident Events notes
- button — Does not use W3C values.
Tasman Events notes
- button — Does not use W3C values.
Gecko Events notes
- target — Return text node, if any, of the target element node prior to 1.3.
- timeStamp — Is relative to the system start instead of to 1 January 1970.[g 12]
WebKit 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
andpageY
. - button — Does not use W3C values.
KHTML Events notes
- DOMSubtreeModified — Not triggered when an element is removed from the subtree.
Presto Events notes
- button — Does not use W3C values prior to 8.0.
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.
Trident | Tasman | Gecko | WebKit | KHTML | Presto | ||
---|---|---|---|---|---|---|---|
Interface AbstractView | |||||||
DOM2 | document | 6.0 | ? | 1.0 | ? | ? | 1.0 |
Interface DocumentView | |||||||
DOM2 | defaultView | No | ? | 1.0 | ? | ? | 1.0 |
Trident notes
- defaultView — Trident does not support the defaultView property for documents, but it supports another property with the same meaning which is parentWindow.
Traversal
The interfaces found within this section are not mandatory. Its interfaces provide easy-to-use, robust, selective traversal of a document's contents.
Trident | Tasman | Gecko | WebKit | KHTML | Presto | ||
---|---|---|---|---|---|---|---|
Interface NodeIterator | |||||||
DOM2 | root | No | ? | 1.9.1 | ? | ? | 1.0 |
whatToShow | ? | ? | ? | ||||
filter | ? | ? | ? | ||||
expandEntityReferences | ? | ? | ? | ||||
nextNode() | Yes | ? | ? | ? | 2.0 | ||
previousNode() | ? | ? | ? | ||||
detach() | No | ? | ? | ? | 1.0 | ||
Interface NodeFilter | |||||||
DOM2 | acceptNode() | No | ? | 1.0 | ? | ? | 1.0 |
Interface TreeWalker | |||||||
DOM2 | root | No | ? | 1.0 | ? | ? | 1.0 |
whatToShow | ? | ? | ? | ||||
filter | ? | ? | ? | ||||
expandEntityReferences | ? | ? | ? | ||||
currentNode | ? | ? | ? | ||||
parentNode() | ? | ? | ? | ||||
firstChild() | ? | ? | ? | ||||
lastChild() | ? | ? | ? | ||||
previousSibling() | ? | ? | ? | ||||
nextSibling() | ? | ? | ? | ||||
previousNode() | ? | ? | ? | ||||
nextNode() | ? | ? | ? | ||||
Interface DocumentTraversal | |||||||
DOM2 | createNodeIterator() | No | ? | 1.9.1 | ? | ? | 1.0 |
createTreeWalker() | ? | 1.0 | ? | ? |
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.
Trident | Tasman | Gecko | WebKit | KHTML | Presto | ||
---|---|---|---|---|---|---|---|
Interface Range | |||||||
DOM2 | startContainer | No | ? | 1.0 | Yes | ? | 1.0 |
startOffset | ? | ? | |||||
endContainer | ? | ? | |||||
endOffset | ? | ? | |||||
collapsed | ? | ? | |||||
commonAncestorContainer | ? | ? | |||||
setStart() | ? | ? | |||||
setEnd() | ? | ? | |||||
setStartBefore() | ? | ? | |||||
setStartAfter() | ? | ? | |||||
setEndBefore() | ? | ? | |||||
setEndAfter() | ? | ? | |||||
collapse() | ? | ? | |||||
selectNode() | ? | ? | |||||
selectNodeContents() | ? | ? | |||||
compareBoundaryPoints() | ? | ? | |||||
deleteContents() | ? | ? | |||||
extractContents() | ? | ? | |||||
cloneContents() | ? | ? | |||||
insertNode() | ? | ? | |||||
surroundContents() | ? | ? | |||||
cloneRange() | ? | ? | |||||
toString() | ? | ? | |||||
detach() | ? | ? | |||||
Interface DocumentRange | |||||||
DOM2 | createRange() | No | ? | 1.0 | No | ? | 1.0 |
Exception RangeException | |||||||
DOM2 | code | No | ? | 1.0 | Yes | ? | 1.0 |
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.
Trident | Tasman | Gecko | WebKit | KHTML | Presto | ||
---|---|---|---|---|---|---|---|
Exception LSException | |||||||
DOM3 | code | No | No | No[g 13] | No | No | 1.0 |
Interface DOMImplementationLS | |||||||
DOM3 | createLSParser() | No | No | No | No | No | 1.0 |
createLSSerializer() | |||||||
createLSInput() | |||||||
createLSOutput() | |||||||
Interface LSParser | |||||||
DOM3 | domConfig | No | No | No | No | No | 1.0 |
filter | |||||||
async | |||||||
busy | |||||||
parse() | |||||||
parseURI() | |||||||
parseWithContext() | |||||||
abort() | |||||||
Interface LSInput | |||||||
DOM3 | characterStream | No | No | No | No | No | 1.0 |
byteStream | |||||||
stringData | |||||||
systemId | |||||||
publicId | |||||||
baseURI | |||||||
encoding | |||||||
certifiedText | |||||||
Interface LSResourceResolver | |||||||
DOM3 | resolveResource() | No | No | No | No | No | No |
Interface LSParserFilter | |||||||
DOM3 | whatToShow | No | No | No | No | No | No |
startElement() | 2.0 | ||||||
acceptNode() | |||||||
Interface LSProgressEvent | |||||||
DOM3 | input | No | No | No | No | No | No |
position | |||||||
totalSize | |||||||
Interface LSLoadEvent | |||||||
DOM3 | newDocument | No | No | No | No | No | 2.0 |
input | No | ||||||
Interface LSSerializer | |||||||
DOM3 | domConfig | No | No | No | No | No | 1.0 |
newLine | |||||||
filter | |||||||
write() | |||||||
writeToURI() | |||||||
writeToString() | |||||||
Interface LSOutput | |||||||
DOM3 | characterStream | No | No | No | No | No | 1.0 |
byteStream | |||||||
systemId | |||||||
encoding | |||||||
Interface LSSerializerFilter | |||||||
DOM3 | whatToShow | No | No | No | No | No | No |
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."
Trident | Tasman | Gecko | WebKit | KHTML | Presto | ||
---|---|---|---|---|---|---|---|
Exception ExceptionVAL | |||||||
DOM3 | code | No | No | No | No | No | No |
Interface DocumentEditVAL | |||||||
DOM3 | continuousValidityChecking | No | No | No | No | No | No |
domConfig | |||||||
getDefinedElements() | |||||||
validateDocument() | |||||||
Interface NodeEditVAL | |||||||
DOM3 | defaultValue | No | No | No | No | No | No |
enumeratedValues | |||||||
canInsertBefore() | |||||||
canRemoveChild() | |||||||
canReplaceChild() | |||||||
canAppendChild() | |||||||
nodeValidity() | |||||||
Interface ElementEditVAL | |||||||
DOM3 | allowedChildren | No | No | No | No | No | No |
allowedFirstChildren | |||||||
allowedParents | |||||||
allowedNextSiblings | |||||||
allowedPreviousSiblings | |||||||
allowedAttributes | |||||||
requiredAttributes | |||||||
contentType | |||||||
canSetTextContent | |||||||
canSetAttribute | |||||||
canSetAttributeNode | |||||||
canSetAttributeNS | |||||||
canRemoveAttribute | |||||||
canRemoveAttributeNS | |||||||
canRemoveAttributeNode | |||||||
isElementDefined | |||||||
isElementDefinedNS | |||||||
Interface CharacterDataEditVAL | |||||||
DOM3 | isWhitespaceOnly() | No | No | No | No | No | No |
canSetData() | |||||||
canAppendData() | |||||||
canReplaceData() | |||||||
canInsertData() | |||||||
canDeleteData() |
References
Trident references
- ↑ DOMException object (Internet Explorer), Microsoft
- ↑ DOMStringList object (Internet Explorer), Microsoft
- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Internet Explorer Platform Preview Guide for Developers, Microsoft
- ↑ "getElementById Method", HTML and DHTML Reference (Microsoft), retrieved 2009-03-05
- 1 2 Leithead, Travis, HTML and DOM Standards Compliance in IE8 Beta 1, Microsoft
- ↑ http://ie.microsoft.com/testdrive/HTML5/50ComparingEventModels/Default.html
- ↑ Internet Explorer 9 Guide for Developers - DOM L2 and L3 Events, Microsoft
Gecko references
- ↑ Bug 56758 - Attr appendChild, insertBefore, removeChild, replaceChild fail, Mozilla
- ↑ Bug 15118 - expat doesn't send notifications for doctype.notations and doctype.entities, Mozilla
- ↑ Bug 70132 - Support @font-face, Mozilla
- ↑ Bug 35615 - Implement CSSPageRule, Mozilla
- ↑ Bug 35618 - (DOM2 CSS) CSSUnknownRule, Mozilla
- 1 2 Bug 62682 - CSSStyleDeclaration.getPropertyCSSValue() not implemented, always returns nsnull, Mozilla
- ↑ Bug 132475 - nsROCSSPrimitiveValue::SetFoo() methods should return an nsresult, Mozilla
- ↑ Bug 45424 - implement getOverrideStyle(), Mozilla
- ↑ Bug 63850 - document.implementation.createCSSStyleSheet() Not Implemented, Mozilla
- 1 2 Bug 60212 - RFE: DOM 2 UIEvent interface, Mozilla
- ↑ Bug 74219 - Implement NodeInsertedIntoDocument, NodeRemovedFromDocument, Mozilla
- ↑ Bug 77992 - Event.timeStamp should be relative to 1st January 1970 rather than the system start, Mozilla
- ↑ Bug 155749 - Implement DOM3 Load/Save, Mozilla
Webkit references
Presto references
Other references
- ↑ Amaya Binary Releases, Most recent download link in stable
- ↑ Change log between EdgeHTML 12.10240 and 13.10586
- ↑ "Firefox — Notes (44.0.2) — Mozilla". mozilla.org. 2016-02-11. Retrieved 2016-02-12.
- ↑ "Firefox — Notes (38.6.1) — Mozilla". mozilla.org. 2016-02-11. Retrieved 2016-02-12.
- ↑ "Firefox — Beta Notes (45.0beta) — Mozilla". 2016-01-27. Retrieved 2016-01-29.
- ↑ "Mozilla Firefox Web Browser — Download Firefox Beta in your language — Mozilla". Retrieved 2016-02-17.
- ↑ "Firefox — Aurora Notes (46.0a2) — Mozilla". 2016-01-26. Retrieved 2016-01-29.
- ↑ "RapidRelease/Calendar - MozillaWiki". Retrieved 2016-01-29.
- ↑ Download for kdelibs, Most recent download link in stable
- ↑ Pdfcrowd FAQ, “Pdfcrowd is built around Webkit.”
- ↑ ‘Producer’ metadata in the resulting pdf.
- "W3C", Document Object Model (DOM) Conformance Test Suites, retrieved May 1, 2005
- "David Baron's Homepage", DOM Test Pages, retrieved May 1, 2005
- "Jeremie's Personal Site", DOM Level 1 Tests, retrieved May 1, 2005
- "Mozilla Developer Documentation", DOM Support in Mozilla, retrieved May 1, 2005
- "Mozilla Developer Documentation", What does each DOM Level bring?, retrieved May 1, 2005
- "XULPlanet.com", Mozilla Object Reference, retrieved May 1, 2005
- "Fabian Guisset", Mozilla DOM Status Update, retrieved May 1, 2005
- "Opera Documentation", Web Specifications Supported in Opera, retrieved May 1, 2005
- "JavaScript Bible, 5th Edition", Appendix A: JS/DOM Object Quick Reference, retrieved May 5, 2005
External links
|