Выполнить Syntaxhighlighter в ajax
Давно пользуюсь Syntaxhighlighter 2. Что вы собственно и можете наблюдать на этом сайте.
Довольно давно столкнулся с очень неприятной проблемой — Syntaxhighlighter не срабатывает когда подгружаем ajax’ом контент.
Вот, только сегодня у меня дошли руки исправить это.
Собственно:
На странице //govnoproger.ru/as3/davajte-sdelaem-igru-na-as3.html накопилось комментариев больше 50.
У меня лимит на 50 комментариев. Дальше плагин делает своё дело — урезает первые.
Чтобы их отобразить появляется ссылочка в самом низу. Нажимая на неё мы тем самым подгружаем комментарии аяксом.
Вот собственно я заметил что перестаёт срабатывать Syntaxhighlighter в подгружаемых комментах.
Лечится очень просто:
Ну во первых делаем так чтобы при нажатии на ссылку срабатывала наша функция.
Второе это сама функция:
function tm(){setTimeout('SyntaxHighlighter.highlight()', 5000)}
5000 — это пять секунд после нажатия на ссылочку. Думаю что этого хватит чтобы загрузились комментарии.
После чего собственно и срабатывает SyntaxHighlighter.highlight() .
Также рекомендую вставлять кнопку — которая вручную перезапустит SyntaxHighlighter.
Кстати да, было такое. И как раз после добавления коммента с кодом (без перезагрузки страницы) — код выглядел просто «серым». Теперь понятно почему 🙂
Ооо! А я и забыл что при добавлении коммента тоже нужно перезагружать!
Сейчас поправлю.
Не исправлю, исправить это можно лишь сильной перепиской. Так что в пред-просмотре комента, и при постинге — хайлайтер перезагружаться не будет!
Это не страшно, имхо.
Слушай, не знаю с чем это может быть связано, но когда я пишу в блоге коммент — у меня иногда пропадает курсор, будто подвисает (или не моргает или просто не виден) и если я пытаюсь его переместить, то не вижу переместился он или нет. Вот кстати пока я писал это сообщение такого не было, а в теме про игру — появляется проблема. Видимо из-за большого количества комментов, но лично я не понимаю как это связано. Браузер IE 9
P.S. Я про курсор ввода, или как он называется (вертикальноя палочка)
А давно это началось?
Не знаю когда началось, но заметил несколько дней назад. Правда до этого сидел с файрфокса. Счас пока установить другой браузер нет возможности.
Раз тут у тебя не глючит — Значит проблема в самом хайлайтере.
Експлорер хреново обрабатывает джаваскрипт, да и не только…
Это старая версия, но менять на 3й я её не буду.
3я версия не делает авто перенос строк.
Ок.