在AJAX加载的内容上使用语法Highlighter

Mar*_*van 18 javascript syntax-highlighting

如何在'window'发出'load'事件后加载内容时使用Alex Gorbatchev的语法荧光笔?我这样想:

    $.ajax({
        url:    file,
        success: function(data) {
            $('.fileName').text(file);
            $('#fileSource > pre').text(data);
            SyntaxHighlighter.all();
        }
    });
Run Code Online (Sandbox Code Playgroud)

......但它不起作用.我需要提一下,ajax调用可以在页面加载后随时发生.

问候

小智 39

- SyntaxHighlighter.all()绑定窗口负载.因此,如果要在页面加载时突出显示元素,请使用此方法.

- SyntaxHighlighter.highlight()无论何时调用此方法,都会突出显示元素.所以你最好使用它.

- SyntaxHighlighter.highlight()有两个参数,都是可选的.

1.参数globalParams:

@param {Object} globalParams,可覆盖元素参数的可选参数.仅在指定元素时使用.

2.参数元素:

@param {Object}元素,要突出显示的可选元素.如果未提供,则突出显示当前文档中的所有元素.

- 有关此内容的更多信息,请访问syntaxhighlighter_3.0.83/src/shCore.js


Mar*_*van 5

我在他的一个例子中找到了我的问题的答案:

    $.ajax({
        url:    file,
        success: function(code) {
            $('.fileName').text(file);
            var brush = new SyntaxHighlighter.brushes.JScript(),
                html;
            brush.init({ toolbar: false });
            html = brush.getHtml(code);
            document.getElementById('source').innerHTML = html; 
        }
    });
Run Code Online (Sandbox Code Playgroud)