hanzhdy 2013-04-19 17:33 采纳率: 100%
浏览 228
已采纳

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条回答 默认 最新

  • jinnianshilongnian 2013-04-19 18:21
    关注

    应该这样,使用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]
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站