Подтвердить что ты не робот

Используйте синтаксический ярлык для загруженного содержимого AJAX

Как я могу использовать синтаксис синтаксиса Алекса Горбачева в содержимом, загруженном после события "загрузка" окна "окно"? Я пробую так:

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

... но он не работает. Мне нужно упомянуть, что вызов ajax может произойти в любое время после загрузки страницы.

Привет

4b9b3361

Ответ 1

- SyntaxHighlighter.all() связывает загрузку окна. Поэтому, если вы хотите выделить элемент при загрузке страницы, используйте этот метод.

- SyntaxHighlighter.highlight() выделяет элементы всякий раз, когда вы вызываете этот метод. Поэтому вам лучше использовать это.

- SyntaxHighlighter.highlight() принимает два параметра, оба являются необязательными.

1. Параметр globalParams:

@param {Object} globalParams, Необязательные параметры, которые переопределяют параметры элемента. Используется только в том случае, если элемент указан.

2. Элемент параметра:

Элемент

@param {Object}, дополнительный элемент для выделения. Если ни один не указан, все элементы в текущем документе выделены.

- Для получения дополнительной информации об этом перейдите к syntaxhighlighter_3.0.83/src/shCore.js

Ответ 2

Я нашел ответ на свой вопрос в одном из своих примеров:

    $.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; 
        }
    });

Ответ 3

просто добавьте этот раздел

$(document).ready(function () {
        $('.code').each(function () {
            SyntaxHighlighter.all();
        });
    });