La proprietà implementation in Javascript
L'oggetto document.implementation fa parte del DOM in Javascript.
document.implementation
Serve principalmente per due scopi:
- Verifica il supporto del DOM: Consente di verificare se il DOM del browser in uso supporta determinate specifiche o versioni di specifiche.
- Crea nuovi documenti: Fornisce metodi per creare nuovi documenti HTML o XML e definizioni di tipo di documento (DTD).
Non è comune dover verificare manualmente il supporto per specifiche versioni del DOM, poiché i moderni framework e librerie tendono a gestire queste compatibilità. Tuttavia, è possibile utilizzare `document.implementation.hasFeature()` per tale scopo, anche se questo metodo è ormai considerato deprecato e restituisce sempre `true` in molte implementazioni moderne.
La capacità di creare nuovi documenti è particolarmente utile.
Ecco come si può fare:
<script>
// Creare un nuovo documento HTML
var nuovoDocHTML = document.implementation.createHTMLDocument("Nuovo Documento HTML");
// Creare un nuovo documento XML
var nuovoDocXML = document.implementation.createDocument('http://www.w3.org/1999/xhtml', 'html', null);
// Creare una DTD
var dtd = document.implementation.createDocumentType('html', '-//W3C//DTD XHTML 1.0 Strict//EN', 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd');
Faccio un esempio pratico
<script>
var doc = document.implementation.createHTMLDocument("Esempio");
doc.body.innerHTML = "<h1>Questo è un titolo</h1><p>Questo è un paragrafo nel nuovo documento.</p>";
document.body.appendChild(doc.documentElement);
</script>
Questo esempio crea un documento HTML e poi inserisce nel documento corrente l'elemento `html` del nuovo documento.
In questo modo posso manipolare e utilizzare documenti creati dinamicamente.
E così via.