SyntaxHighlighter - 调用SyntaxHighlighter.all()以突出显示动态生成的XML

时间:2013-06-27 04:19:23

标签: javascript html syntax-highlighting

我有生成XML的javascript代码,并调用SyntaxHighlighter.all()方法来突出显示添加的XML。我没有在控制台中收到错误,但也没有突出显示。

的javascript:

<script type="text/javascript" src="js/syntaxhighlighter_3.0.83/scripts/shCore.js"></script>
<script type="text/javascript" src="js/syntaxhighlighter_3.0.83/scripts/shBrushXml.js"></script>
<link type="text/css" rel="stylesheet" href="js/syntaxhighlighter_3.0.83/styles/shCoreDefault.css"

<script>
    function generateXML()
        {
            var result="<test>WHATEVA</test>";

            alert(result);

            var regex1 = new RegExp('<', 'g');
            var regex2 = new RegExp('>', 'g');

             result = "<pre class='brush: xml'>" + result.replace(regex1,'&lt;').replace(regex2,'&gt;')+"</pre>";

            document.getElementById("generatedXML").innerHTML = result;     
        }
</script>

HTML

    <input id="addOUTPUTButton" type="button" value="Generate XML"  onclick="generateXML()"/>
    <input id="test" type="button" value="Test"  onclick="SyntaxHighlighter.all();"/>
<div id="generatedXML">
</div>

2 个答案:

答案 0 :(得分:5)

解决方案是使用highlight()代替all()

这是一个JSFiddle,请注意使用外部资源:http://jsfiddle.net/menelaosbgr/TXzZH/

答案 1 :(得分:0)

解读。我希望得到一个也支持更新版本的答案。无论哪种方式,jsfiddle都会被破坏,所以至少添加一个提及版本的评论可能会有所帮助。

感谢您的回复。