हालांकि आपका src = encodeURI
काम होना चाहिए, मैं एक अलग तरह से गया होगा:
var iframe = document.createElement('iframe');
var html = '<body>Foo</body>';
document.body.appendChild(iframe);
iframe.contentWindow.document.open();
iframe.contentWindow.document.write(html);
iframe.contentWindow.document.close();
चूंकि इसमें कोई एक्स-डोमेन प्रतिबंध नहीं है और पूरी तरह से iframe
संभाल के माध्यम से किया जाता है , आप बाद में फ्रेम की सामग्री तक पहुंच और हेरफेर कर सकते हैं। आपको यह सुनिश्चित करने की आवश्यकता है कि सामग्री को प्रदान किया गया है, जो (ब्राउज़र प्रकार के आधार पर) .write कमांड जारी होने के दौरान / बाद में शुरू होता है - लेकिन जब close()
इसे कहा जाता है, तब ऐसा नहीं किया जाता है।
कॉलबैक करने का 100% संगत तरीका यह तरीका हो सकता है:
<html><body onload="parent.myCallbackFunc(this.window)"></body></html>
इफ्रेम्स में हालांकि ओन्डलोड घटना है। यहाँ आंतरिक html को DOM (js) के रूप में एक्सेस करने का तरीका दिया गया है:
iframe.onload = function() {
var div=iframe.contentWindow.document.getElementById('mydiv');
};