Я использую Syntaxhighlighter на веб-странице, я сделал функцию javascript для загрузки всех кистей, используя SyntaxHighlighter.autoloader (...) и применил SyntaxHighlighter.all ()
Я запускаю эту функцию один раз, когда страница загружается, результат: подсветка синтаксиса применяется правильно.
После этого я загружаю новый контент, используя ajax, и запускаю эту же функцию, чтобы выделить новый контент.
Однако на этот раз Syntaxhighlighter, кажется, забыл обо всех загруженных кистях, я получаю предупреждение о том, что кисть не загружена.
Я понятия не имею, что вызывает это, хотя я огляделся инайдено 2 возможных причины:
Проблема в репозитории bitbucket
Это похоже на решение, но когда я использую распакованный shCore.js из репозитория, моя IDE указывает насинтаксическая ошибка, и я получаю ошибки JavaScript, когда я все равно пытаюсь его запустить.
Другое решение, которое я нашел в нескольких ответах на OTее аналогичные сообщения переполнения стека должны использовать SyntaxHighlighter.highlight () вместо .all () после загрузки страницы.Однако это не работает.
Используемая мной функция:
function loadSyntaxHighLighter() {
SyntaxHighlighter.autoloader(
'ahk ' + app.assets + 'js/syntaxhighlighter/brushes/shBrushAhk.js',
'aps ' + app.assets + 'js/syntaxhighlighter/brushes/shBrushAppleScript.js'
//...
);
SyntaxHighlighter.defaults['toolbar'] = false;
if (SyntaxHighlighter != 'undefined') {
SyntaxHighlighter.highlight();
} else {
SyntaxHighlighter.all();
}
}
У кого-нибудь есть идеи, как это исправить?(Или кто-то может указать мне, как я могу внести изменения, предложенные в bitbucket)
Спасибо