Comparison of layout engines (Document Object Model)
This article is incomplete.February 2009) ( |
This article needs to be updated.April 2012) ( |
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[edit]
Engine | Status | Embedded in |
---|---|---|
WebKit | Active | Safari browser, plus all browsers hosted on the iOS App Store |
Blink | Active | Google Chrome and all other Chromium-based browsers like Opera and Microsoft Edge |
Gecko | Active | Firefox browser and Thunderbird email client, plus forks like SeaMonkey and Waterfox |
KHTML | Discontinued | Konqueror browser |
Presto | Discontinued | formerly in the Opera browser |
EdgeHTML | Discontinued | formerly in the Microsoft Edge browser |
Trident | Discontinued | Internet Explorer browser and Microsoft Outlook email client |
Values[edit]
These indicate the level of support for the given item in each engine. By default, the most recent version of the engine is implied. However, a specific version number can be listed; when this indicates full support, it's the initial version of the engine fully supporting the item.
Value | Meaning |
---|---|
Yes | Fully supported |
No | Has never been supported |
Partial | Only some values are supported |
Incorrect | Not implemented correctly in all cases |
Experimental | May be incomplete or buggy |
Nightly build | Currently in development; full support is expected |
Depends | Only supported for the specified conditions |
Dropped | No longer supported |
General overview[edit]
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)[edit]
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 [1] | ? | 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[edit]
- 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[edit]
- AttributeNode.specified — Does not set
specified
totrue
if ownerElement is null.
Gecko Core (Fundamental) notes[edit]
- 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[edit]
- 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[edit]
- AttributeNode.specified — Does not create Attribute Nodes for default values specified in the DTD.
KHTML Core (Fundamental) notes[edit]
- AttributeNode.specified — Does not create Attribute Nodes for default values specified in the DTD.
Core (Extended)[edit]
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[edit]
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[edit]
- 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[edit]
- cellIndex — Always return zero.[citation needed]
Presto HTML notes[edit]
- text — Opera 8 and lower returned data at
src
, when it should return inline data instead.
Style (Style Sheets)[edit]
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[edit]
- 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)[edit]
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[edit]
- getPropertyPriority() — Returns
!important
instead ofimportant
.
Style (CSS Extended)[edit]
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[edit]
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[edit]
- button — Does not use W3C values.
Tasman Events notes[edit]
- button — Does not use W3C values.
Gecko Events notes[edit]
- 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[edit]
- 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[edit]
- DOMSubtreeModified — Not triggered when an element is removed from the subtree.
Presto Events notes[edit]
- button — Does not use W3C values prior to 8.0.
Views[edit]
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[edit]
- defaultView — Trident does not support the defaultView property for documents, but it supports another property with the same meaning which is parentWindow.
Traversal[edit]
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[edit]
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[edit]
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[edit]
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[edit]
Trident references[edit]
- ↑ DOMException object (Internet Explorer), Microsoft
- ↑ DOMStringList object (Internet Explorer), Microsoft
- ↑ 3.00 3.01 3.02 3.03 3.04 3.05 3.06 3.07 3.08 3.09 3.10 3.11 3.12 3.13 Internet Explorer Platform Preview Guide for Developers, Microsoft
- ↑ "getElementById Method", HTML and DHTML Reference, Microsoft, retrieved 2009-03-05
- ↑ 5.0 5.1 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[edit]
- ↑ 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
- ↑ 6.0 6.1 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
- ↑ 10.0 10.1 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[edit]
Presto references[edit]
Other references[edit]
- "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[edit]
This article "Comparison of layout engines (Document Object Model)" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:Comparison of layout engines (Document Object Model). Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.