files/en-us/web/api/document/implementation/index.md
{{ ApiRef("DOM") }}
The Document.implementation property returns a
{{domxref("DOMImplementation")}} object associated with the current document.
A {{domxref("DOMImplementation")}} object.
const modName = "HTML";
const modVer = "2.0";
const conformTest = document.implementation.hasFeature(modName, modVer);
console.log(`DOM ${modName} ${modVer} supported?: ${conformTest}`);
// Log: "DOM HTML 2.0 supported?: true" (hasFeature always returns true)
[!WARNING] Do not use this for feature detection. The
hasFeature()method always returns true.
The W3C's DOM Level 1 Recommendation only specified the hasFeature method,
which is one way to determine if a DOM module is supported by a browser (see example
above and What does your user agent claim to support?). If available, other DOMImplementation
methods provide services for controlling things outside of a single document. For
example, the DOMImplementation interface includes a
createDocumentType method with which DTDs can be created for one or more
documents managed by the implementation.
{{Specifications}}
{{Compat}}