我有一个 JavaScript 函数,它结合了 AJAX 和字符串操作来生成一个完整的 HTML 页面作为一个字符串。即:
var markup='<html><body>Hello world!</body></html>';
这非常简单,我不能保证 HTML 结构是可预测的。如何在页面上显示该内容?我认为 iframe
最有意义,因为字符串包含完整的 HTML 页面,但我不知道如何将标记注入(inject) iframe。
我不想创建另一个仅用作“代理”的物理文件,因此我希望有一个可以完全包含在一个 HTML 页面中的解决方案。
最佳答案
var iframe = document.createElement("iframe");
var doc = iframe.contentDocument; // a about:blank
doc.open();
doc.write(htmlstring);
doc.close();
对我有用。我也确实使用了 <object>
在他们的 data
中有一个数据 URI属性,例如显示 xml 文档:
var object = document.createElement("object");
object.setAttribute('data', "data:text/xml, "+xmlstring);
您也可以使用 <object data="about:blank">
而不是 iframe 来获取要覆盖的 contentDocument。
关于javascript - 我可以使用来自 JavaScript 的内容预填充 iframe 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10195193/