Ciao, sto lentamente facendo un'estensione per Chrome, e ho bisogno di analizzare alcuni dati che contengono entità html, e ho bisogno di decodificarlo. Ho visto in una risposta qui che ho potuto usare document.createElement
per esso, così ho fatto questo:Gli elementi creati con document.createElement rimangono in memoria?
htmlDecode: function(input) {
if(/[<>]/.test(input)) { // To avoid creating tags like <script> :s
return "Invalid Input";
}
var e = document.createElement('div');
e.innerHTML = input;
return e.childNodes.length === 0 ? "" : e.childNodes[0].nodeValue;
}
Comunque io sono preoccupato che document.createElement
lascia elementi dietro perché questa funzione viene eseguito sul sceneggiatura sfondo, quindi non è come viene aggiornato spesso e viene eseguito circa 35000 volte ogni 5 minuti.
Quindi, gli elementi creati da document.createElement
vengono liberati o rimangono? Voglio dire, non li aggiungo da nessuna parte e vengono assegnati a una variabile locale, ma non ne sono sicuro.
Certo, nulla fa riferimento al div più dopo che la funzione è stata eseguita, quindi verrà raccolta alla fine. – Bergi