javascript - Dynamically insert an HTML string into the HEAD of a Document -


मुझे वर्तमान कोड DOM के & lt; head & gt; टैग में एक HTML स्ट्रिंग सम्मिलित करने की आवश्यकता है I , एक तरीका है: आप एक div तत्व बनाते हैं, इसके अंदरूनी HTML भरते हैं, मद-बाय-मद पर अपने & lt; head & gt; तत्व में कॉपी करें लेकिन इन तरीकों से नीचे दिए गए कारणों के लिए आईई / ओपेरे में काम नहीं किया जाता है, हालांकि एफएफ 3 में दोनों नीचे दिए गए तरीकों से पूरी तरह से कार्य करते हैं, और ब्राउज़र अतिरिक्त स्टाइल / स्क्रीप्ट तत्वों को संसाधित करता है।

क्या कोई अन्य तरीका है कि आप सीधे & lt; head & gt; में एक स्ट्रिंग सम्मिलित कर सकते हैं और उन वस्तुओं को संसाधित कर सकते हैं?


(IE / Opera में वे विफल क्यों होते हैं)

विधि 1 - विफल क्योंकि आंतरिक HTML मेटा, स्टाइल, SCRIPT तत्वों को पार्स / अनदेखा नहीं कर सकता स्ट्रिंग

  insertHtml = फ़ंक्शन (parentElem, htmlStr) {var frag = document.createDocumentFragment (); Var temp = document.createElement ('div'); Temp.innerHTML = htmlStr; // इस बिंदु पर, temp.childNodes.length = 0 जबकि (temp.firstChild) {frag.appendChild (temp.firstChild); } // का उपयोग करें टुकड़ा parentElem.insertBrefore (frag, parentElem.childNodes [0]) सम्मिलित करने के लिए देशी DOM विधियों का उपयोग करें; }  

विधि 2 - विफल क्योंकि जोड़ा गया स्टाइल / स्क्रिप तत्व ब्राउज़र द्वारा संसाधित नहीं करते

  दस्तावेज़ .getElementsByTagName ("head") [0] .innerHTML = htmlStr // हालांकि यह & lt; head & gt; टैग सफलतापूर्वक  

यहाँ एक बेवकूफ हैक है जो समस्या का हल करता है HTMLStr पर एक गैर-रिक्त स्ट्रिंग टैग (नोड.नोडटाइप === 3) को तैयार करें और सबकुछ काम करेगा:

  var insertHtml = फ़ंक्शन (parentElem, htmlStr) {var frag = document.createDocumentFragment (); Var temp = document.createElement ('div'); Temp.innerHTML = "हैक" + htmlStr; जबकि (temp.firstChild) {if (temp.firstChild.nodeType === 1) {// केवल तत्व नोड frag.appendChild (temp.firstChild) जोड़ें; } Else {// हैक स्ट्रिंग अस्थायी .removeChild (temp.firstChild) निकालें; }} ParentElem.insertBefore (frag, parentElem.childNodes [0]); }  

Comments

Popular posts from this blog

python - Overriding the save method in Django ModelForm -

html - CSS autoheight, but fit content to height of div -

qt - How to prevent QAudioInput from automatically boosting the master volume to 100%? -