Trei moduri de a crea documente HTML pe zbor
Crearea documentelor HTML în zbor, cu sau fără JavaScript, este uneori necesar. Indiferent dacă scopul este de a afișa o pagină de confirmare sau o iframe care conține o pagină întreagă, dacă documentul este suficient de simplu, acesta poate fi ușor a pus împreună și a servit fie cu adrese URL de date, fie cu JavaScript.
Dar, cum te descurci? Sunt sigur că deja știți cum să adăugați cod HTML într-un document utilizând JavaScript, dar să creați un întreg document HTML? S-ar putea să fiți interesat de câteva dintre metodele pe care le voi arăta mai jos, dintre care primul nu are nevoie chiar de JavaScript!
Voi arăta toate documentele nou create în iframe astfel încât să le puteți vedea redate. Cu toate acestea, puteți utiliza documentele pe care le considerați potrivite. De exemplu, ele pot fi salvate într-o bază de date sau trimis prin intermediul serviciilor web să fie redat în altă parte.
1. URL-uri de date
Datele URL de date vă oferă o metodă simplă și eficientă să difuzați documente pe o pagină web. Dacă nu sunteți familiarizat cu acest lucru, citiți articolul nostru anterior despre modul în care funcționează.
În principiu, adresele URL de date începeți cu date:
Schemă de adrese URL. Este urmată de conținutul care trebuie servit, înainte de care puteți menționa opțional media si codificarea conținutului.
S-ar putea să fi văzut imagini servite în acest fel, unde caractere de bază64 sunt date ca conținut al adresei de date, urmând un tip de media.
Codul de mai sus afișează o imagine PNG a omului cu un laptop emoji - îl puteți verifica în browser.
Similar cu modul în care se face acest lucru, datele URL pot să difuzeze și documente HTML:
Interfața de implementare DOMI
DOMImplementation
este o interfață care poate creați documente noi folosind fie eiCreateDocument ()
(pentru XML) saucreateHTMLDocument ()
metoda - indiferent de ce ai nevoie. Interfața este accesată utilizânddocument.implementation
obiect.
createHTMLDocument ()
metodă ia un parametru opțional care este titlul noului document.Poti adăugați cod HTML la un document nou creat la fel cum procedați de obicei: utilizând metode cum ar fi
adăuga()
,appendChild ()
, și alte metode JavaScript legate de DOM.window.onload = () => var document = document.implementation.createHTMLDocument (); doc.body.append ('Hello World!'); var iframeDoc = document.querySelector ("iframe"). conținutDocument; iframeDoc.replaceChild (doc.documentElement, iframeDoc.documentElement);În codul de mai sus, a se creează un nou document HTML folosind
createHTMLDocument ()
metodă aDOMImplementation
și interfațaSalut Lume!șirul este adăugat la elementul său de corp.Apoi, pentru a vedea cum arată documentul nou creat atunci când este redat, am înlocuit elementul document al iframe-ului (
iframeDoc.documentElement
) cu elementul document al noului document (doc.documentElement
) utilizândreplaceChild ()
metodă. În felul ăsta, vei fi să fie capabil să vadăSalut Lume!şir din documentul pe care l-am creat și adăugat la iframe.API-ul DOMParser
După cum sugerează și numele,
DOMParser
API-ul analizează șirurile HTML / XML în documentele DOM.Un nou
DOMParser
obiect instanță poate fi creat folosind constructorul său,DOMParser ()
. Instanța deține o metodă numităparseFromString ()
acea analizează după ce a luat două argumente: șirul care trebuie analizat și tipul de document al documentului care urmează a fi creat.window.onload = () => var parser = nou DOMParser (); var doc = parser.parseFromString ('Salut Lume! "," text / html "); doc.body.append ("extra text"); var iframeDoc = document.querySelector ("iframe"). conținutDocument; iframeDoc.replaceChild (doc.documentElement, iframeDoc.documentElement);În codul de mai sus, un nou
DOMParser
instanță analizează un șir HTML într-un document DOM folosindparseFromString ()
metodă.Apoi, în același mod ca și în fragmentul de cod anterior, elementul document al documentului nou creat înlocuiește elementul de document al iframe-ului. Ca rezultat, codul HTML din documentul pe care l-am creat devine vizibil în iframe.