SyntaxHighlighter异步着色问题,有了解的兄弟们帮忙解决下啊

今天在研究SyntaxHighlighter的着色,感觉效果挺不错,但在和kindEditor整合时,总不是我要的效果,最后检查发现SyntaxHighlighter貌似没有异步着色的效果,即:页面渲染完成后,通过点击按钮去给页面div设置要着色的内容。。。我发现这样并不能让里面代码着色了,有了解的兄弟麻烦帮忙啊,谢谢了,以下是代码内容

[code="html"]



Hello SyntaxHighlighter




<br> SyntaxHighlighter.all(); <br> function click() {<br> var d=document.getElementById(&#39;testContent&#39;);<br> var html=[];<br> html.push(&#39;<pre class="brush: js;toolbar:false;">&#39;);<br> html.push(&#39;function helloSyntaxHighlighter()\n&#39;);<br> html.push(&#39;{\n return &quot;hi!&quot;;\n}&#39;);<br> html.push(&#39;</pre>&#39;);<br> d.innerHTML=html.join(&#39;&#39;);<br> }<br>

超链接

这里是JS演示代码: 由JS异步设置代码内容

转换


[/code]

1个回答

应该这样,使用SyntaxHighlighter.highlight();

[code="java"]

function syntaxHighlighter() {
    var d=document.getElementById('testContent');
     var html=[];  
    html.push('<pre class="brush: js;toolbar:false;">');  
    html.push('function helloSyntaxHighlighter()\n');  
    html.push('{\n  return "hi!";\n}');  
    html.push('</pre>');  
    d.innerHTML=html.join('');  
    SyntaxHighlighter.highlight();


}
</script>[/code]

why??? all的实现 它是绑定到window.onload 所以
[code="java"]

/**
 * Main entry point for the SyntaxHighlighter.
 * @param {Object} params Optional params to apply to all highlighted elements.
 */
all: function(params)
{
    attachEvent(
        window,
        'load',
        function() { sh.highlight(params); }
    );
}[/code]
hanzhdy
hanzhdy 非常感谢,确实可以
接近 7 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问