हाय, मैं धीरे-धीरे क्रोम एक्सटेंशन बना रहा हूं, और मुझे कुछ डेटा को पार्स करने की आवश्यकता है जिसमें HTML इकाइयां हैं, और मुझे इसे डीकोड करने की आवश्यकता है। मैं यहाँ एक जवाब में देखा कि मैं इसके लिए 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;
}
हालांकि मुझे चिंता है कि document.createElement
तत्वों पीछे छोड़ देता है क्योंकि इस समारोह पृष्ठभूमि स्क्रिप्ट पर चलता हूँ, इसलिए यह यह की तरह नहीं है अक्सर ताज़ा हो जाता है, और यह हर 5 मिनट में लगभग 35000 बार चलता है।
तो, document.createElement
द्वारा बनाए गए तत्वों को मुक्त करें, या वे रहते हैं? मेरा मतलब है, मैं उन्हें कहीं भी शामिल नहीं करता हूं और उन्हें स्थानीय चर के लिए assiged हैं, लेकिन मुझे यकीन नहीं है।
निश्चित रूप से, फ़ंक्शन चलाने के बाद अब div को संदर्भित नहीं किया गया है, इसलिए अंत में कचरा इकट्ठा किया जाएगा। – Bergi