我可以打开一个新窗口并用字符串变量填充它吗?

我正在与一些看似简单的事情进行一场战斗。 我有一个[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();