2013-01-02 17 views
5

कारणों के लिए बहुत जटिल कारणों के लिए, मेरे पास एक AJAX कॉल है जो कुछ गतिशील रूप से बनाए गए जावास्क्रिप्ट को लौटाता है जिसे मैं अपने पृष्ठ में इंजेक्ट करना चाहता हूं। निम्नलिखित कोड क्रोम पर काम करता है, लेकिन नहीं IE में:मेरे पृष्ठ में जावास्क्रिप्ट को इंजेक्ट करने का प्रयास

var node = document.getElementsByTagName("head")[0] || document.body; 
    if (node) 
    { 
    var script = document.createElement("script"); 
    script.type = "text/javascript"; 
    //script.innerHTML = json.javascript; 
    var textnode = document.createTextNode(json.javascript); 
    script.appendChild(textnode); 
    node.appendChild(script); 
    } 

IE में, मैं प्राप्त "SCRIPT65535:। विधि या संपत्ति का उपयोग करने के लिए अप्रत्याशित कॉल" जैसा कि मैंने टेक्स्ट कोड की कोशिश करने से पहले, टिप्पणी कोड से देख सकते हैं, मैंने इसे केवल script.innerHTML के साथ डालने का प्रयास किया। यह क्रोम में भी काम करता था, लेकिन आईई में मुझे "एससीआरआईपीटी 600: अज्ञात रनटाइम त्रुटि" मिली।

क्या आईई में डोम में कुछ जावास्क्रिप्ट चिपकाने का कोई तरीका है?

+0

आप शायद jQuery का उपयोग कर जब से तुम IE में अलग ढंग से लागू किया कुछ सुविधाओं के बारे में चिंता करने की ज़रूरत नहीं होगी बेहतर कर रहे हैं। – scartag

+0

यदि आप jQuery के साथ ऐसा करने का तरीका जानते हैं, तो कृपया मुझे बताएं। $ (नोड)। एचटीएमएल script.innerHTML से बेहतर काम नहीं कर रहा है। –

+0

शायद यह मदद करता है: http://stackoverflow.com/questions/8610574/inserting-and-executing-conditional-javascript – regulatethis

उत्तर

6

और निश्चित रूप से, जैसे ही मैं इस पोस्ट के रूप में, मुझे लगता है http://www.phpied.com/dynamic-script-and-style-elements-in-ie/

var node = document.getElementsByTagName("head")[0] || document.body; 
    if (node) 
    { 
    var script = document.createElement("script"); 
    script.type = "text/javascript"; 
    script.text = json.javascript; 
    node.appendChild(script); 
    } 
संबंधित मुद्दे