Javascript 在HTML iframe中显示未解释的HTML代码

Javascript 在HTML iframe中显示未解释的HTML代码,javascript,html,ascii,Javascript,Html,Ascii,我希望在不丢失ASCII字符的情况下,将带有CR和制表符的文本(假设代码是var shtml)显示到iframe中 <!--var shtml--> <HEAD> </HEAD> <BODY style="FONT-SIZE: 12.5pt"> mmm </BODY> 如果我使用.innerText,那么代码(shtml)将在Firefox中解释。如果我使用.textContent,代码(shtml)将显示为不带ASCII字符

我希望在不丢失ASCII字符的情况下,将带有CR和制表符的文本(假设代码是var shtml)显示到iframe中

<!--var shtml-->
<HEAD>
</HEAD>
<BODY style="FONT-SIZE: 12.5pt">
   mmm
</BODY>

如果我使用.innerText,那么代码(shtml)将在Firefox中解释。如果我使用.textContent,代码(shtml)将显示为不带ASCII字符。jQuery.text()与.textContent相同。

就像
一样,
的DOM接口()有一个value属性,看起来您希望将该属性设置为
shtml

document.getElementById('tahtml').value = shtml;


对于一个
文件,为其内部加载的页面制作MIME
文本/普通文件
。例如,可以通过获取一个空的
.txt
或将src设置为
数据:text/pain,
。然后您可以执行以下操作

// don't collapse whitespace, only needed to be done once
ifrmDoc.documentElement.style.whiteSpace = 'pre';
// set text
ifrmDoc.documentElement.innerHTML = shtml;
在哪里

当然,你也可以这样做

  • 将整个内容写入dataURI并将其作为src传递
    ifrm.src='data:text/pain',+window.encodeURIComponent(shtml)
  • 使用DOM方法和文本节点追加文本
    ifrmDoc.body.appendChild(ifrmDoc.createTextNode(shtml))

    (这仍然需要
    空白:pre;
  • 中创建一个
    ,分别将
    shtml
    作为值或文本节点放入其中

对此表示抱歉,但我认为使用文本区更简单。我有一个iframe。请试着问你将来真正想回答的问题。
document.getElementById('tahtml').value = shtml;
// don't collapse whitespace, only needed to be done once
ifrmDoc.documentElement.style.whiteSpace = 'pre';
// set text
ifrmDoc.documentElement.innerHTML = shtml;
var ifrm = document.getElementById('tahtml'),
    ifrmDoc = ifrm.contentDocument || ifrm.contentWindow.document;