Hallo, ich mache langsam eine Chrome-Erweiterung, und ich muss einige Daten analysieren, die HTML-Entities enthält, und ich muss es dekodieren. Ich sah in einer Antwort hier, dass ich document.createElement
dafür verwenden könnte, also tat ich dies:Bleiben Elemente, die mit document.createElement erstellt wurden, im Speicher?
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;
}
aber ich mache mir Sorgen, dass document.createElement
Elemente hinter sich lässt, da diese Funktion auf dem Hintergrund Skript ausgeführt wird, so dass er es ist nicht, wie wird oft aktualisiert und läuft alle 5 Minuten rund 35000 Mal.
Also, werden die von document.createElement
erstellten Elemente freigegeben, oder bleiben sie? Ich meine, ich füge sie nirgends an und sie sind einer lokalen Variable zugeordnet, aber ich bin mir nicht sicher.
Sicher, nichts referenziert das Div mehr, nachdem die Funktion ausgeführt wurde, so dass es schließlich Müll gesammelt wird. – Bergi