Meskipun demikian src = encodeURI
harus bekerja, saya akan pergi dengan cara yang berbeda:
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();
Karena ini tidak memiliki pembatasan x-domain dan sepenuhnya dilakukan melalui iframe
pegangan, Anda dapat mengakses dan memanipulasi konten frame nanti. Yang perlu Anda pastikan adalah, bahwa konten telah dirender, yang akan (tergantung pada jenis browser) mulai selama / setelah perintah .write dikeluarkan - tetapi tidak dilakukan saat close()
dipanggil.
Cara yang kompatibel 100% dalam melakukan panggilan balik bisa menjadi pendekatan ini:
<html><body onload="parent.myCallbackFunc(this.window)"></body></html>
Namun, iframes memiliki acara onload. Berikut adalah pendekatan untuk mengakses html dalam sebagai DOM (js):
iframe.onload = function() {
var div=iframe.contentWindow.document.getElementById('mydiv');
};