2012-06-12 18 views
12

हमें आईफ्रेम के अंदर एक जावास्क्रिप्ट तत्व जोड़ने की आवश्यकता है (यह उसी वेब/डोमेन के अंदर है, इसलिए कोई सुरक्षा समस्या संलग्न नहीं है)। हमें यह काम मिल गया है, लेकिन यह नहीं पता कि स्क्रिप्ट सामग्री को कैसे टैग किया जाए ... टैग्स को आप कैसे करेंगे? iframe दस्तावेज़ मेंजावास्क्रिप्ट स्क्रिप्ट तत्व सेट आंतरिक पाठ

var iframe = document.getElementById('iframeX'); 
var iframedocument = iframe.contentWindow.document; 

var script = iframedocument.createElement('script'); 

script.setAttribute('type', 'text/javascript'); 
script.innerText = 'alert(\'hello\')'; //this doesnt work 
script.value= 'alert(\'hello\')'; //this doesnt work either 

var head = iframedocument.getElementsByTagName("head")[0]; 

head.appendChild(script); 

वांछित परिणाम:

<head> 
    <script type="text/javascript" > 
     alert('hello'); 
    </script> 
</head> 
+0

ठीक http://jsfiddle.net/FU7ZK/ – Esailija

+0

काम करता है इसे यहाँ काम करने के लिए प्रतीत होता है: http://jsfiddle.net/mRgn7/ –

उत्तर

11

तुम कोशिश किया:

script.setAttribute('type', 'text/javascript'); 
script.innerHTML = 'alert(\'hello\')'; 
+2

अच्छा बिंदु: innerText की स्थापना मानक नहीं है। –

+0

मैंने इसका परीक्षण किया: ओपी संस्करण एफएफ पर काम नहीं करता है लेकिन यह आंतरिक HTML के साथ काम करता है। –

+0

मेरा मतलब है कि जिस व्यक्ति ने सवाल पूछा ... SO (* स्टैक ओवरफ़्लो *) पर संक्षेप क्या है? –

3

मैं के रूप में यह IE8- में काम नहीं करता script.innerHTML साथ समस्या थी।

script.text = 'alert(\'hello\')'; 

script.text मेरे लिए बेहतर काम करता है। मिले पर: Create script tag in IE8

संबंधित मुद्दे