在html页面中显示html代码
问题描述:
我有一个contentEditable div,并且我想显示该div的内容的html脚本。 我正在使用bootbox提醒显示我的代码,并使用Rainbow插件突出显示语法。在html页面中显示html代码
的是我使用的代码:我还使用了xmp
标签
bootbox.alert('<pre><code data-language="html">'+ document.getElementById('editor').innerHTML + '</code></pre>');
与此脚本:
<pre><![CDATA[
This is a demo, tags like <p> will
appear literally.
]]></pre>
在这篇文章中表示:How to display raw html code in PRE or something like it but without escaping it,但他们都没有工作。
这就是我得到:
我该如何解决这个问题?
答
使用单位,像
var encodeHtmlEntity = function(str) {
var buf = [];
for (var i=str.length-1;i>=0;i--) {
buf.unshift(['&#', str[i].charCodeAt(), ';'].join(''));
}
return buf.join('');
};
bootbox.alert('<pre><code data-language="html">'+ encodeHtmlEntity(document.getElementById('editor').innerHTML)) + '</code></pre>');
@dfsq它的创造,没有得到:P编辑 – Cilan
如果你正好连接的'createTextNode'你会得到'[对象文本]'的值。您需要将结果追加到另一个元素节点。看到这个小提琴的工作代码:http://jsfiddle.net/4Mwxn/2/。 – flitig
@flitig更改我的答案... – Cilan