尽管您src = encodeURI应该工作,但我会采取另一种方式:
var iframe = document.createElement('iframe');
var html = '
Foo';document.body.appendChild(iframe);
iframe.contentWindow.document.open();
iframe.contentWindow.document.write(html);
iframe.contentWindow.document.close();
由于它没有x域限制,并且完全是通过iframe手柄完成的,因此您稍后可以访问和操作框架的内容。您需要确定的是,内容已呈现,这将在发出.write命令期间/之后(取决于浏览器类型)开始- 但在close()调用时不必完成。
100%兼容的回调方法可以是这种方法:
但是,iframe具有onload事件。这是一种以DOM(js)形式访问内部html的方法:
iframe.onload = function() {
var div=iframe.contentWindow.document.getElementById('mydiv');
};