こんにちは、私はゆっくりとクロムの拡張機能を作成しています.HTMLエンティティを含むデータを解析する必要があり、デコードする必要があります。私はそれのためにdocument.createElement
を使用することができることを、ここでの回答で見たので、私はこれをしなかった:それはそれを好きではないですので、私は、この関数はバックグラウンドスクリプトで実行されるためdocument.createElement
が背後にある要素を離れることを心配しているがdocument.createElementで作成された要素はメモリに残りますか?
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;
}
頻繁にリフレッシュされ、5分ごとに約35000回実行されます。
したがって、document.createElement
で作成された要素は解放されますか、それとも残りますか? 私はどこにでもそれらを追加せず、それらはローカル変数に譲渡されていますが、わかりません。
確かに、関数が実行された後は何もdivを参照しないので、最終的にガベージコレクションされます。 – Bergi