我可以打开一个新窗口并用字符串变量填充它吗?
我正在与一些看似简单的事情进行一场战斗。 我有一个[javascript]字符串,其中包含DOM元素,并且想要打开一个新窗口(window.open()?)并使用填充新窗口的字符串。 即让浏览器获取字符串并将其转换为HTML。 这可能吗?
是的,它可能……
var wnd = window.open("about:blank", "", "_blank"); wnd.document.write(html);
这应该够了吧。
HTML
Archer的答案很好,但如果您愿意,可以在一个class轮内完成:
window.open("data:text/html;charset=utf-8,"+html, "", "_blank")
打开XML?
window.open("data:text/xml;charset=utf-8,"+xml, "", "_blank")
使用XML,确保字符串以开头并具有根元素。 如果没有,您可以轻松添加它:
window.open('data:text/xml;charset=utf-8,'+xml+' ', "", "_blank")
阿切尔的答案是最好的方法。 但是您需要关闭文档以在“htmlString”中运行脚本。
var wnd = window.open("about:blank", ""); wnd.document.write(htmlString); wnd.document.close();