2014-03-01 220 views
0

我有一個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,但他們都沒有工作。

這就是我得到:

enter image description here

我該如何解決這個問題?

回答

0

使用單位,像

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>'); 
+0

@dfsq它的創造,沒有得到:P編輯 – Cilan

+0

如果你正好連接的'createTextNode'你會得到'[對象文本]'的值。您需要將結果追加到另一個元素節點。看到這個小提琴的工作代碼:http://jsfiddle.net/4Mwxn/2/。 – flitig

+0

@flitig更改我的答案... – Cilan