Выполнить Syntaxhighlighter в ajax

govnoproger.ru > javascript > Выполнить 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.

Рекомендую:

11.7.2011 | последняя редакция: 11.07.2011 |
  1. Сергей
    11.7.2011 в 11:48

    Кстати да, было такое. И как раз после добавления коммента с кодом (без перезагрузки страницы) — код выглядел просто «серым». Теперь понятно почему 🙂

  2. admin
    11.7.2011 в 11:50

    Ооо! А я и забыл что при добавлении коммента тоже нужно перезагружать!
    Сейчас поправлю.

  3. admin
    11.7.2011 в 11:59

    Не исправлю, исправить это можно лишь сильной перепиской. Так что в пред-просмотре комента, и при постинге — хайлайтер перезагружаться не будет!

  4. Сергей
    11.7.2011 в 12:33

    Это не страшно, имхо.

  5. Сергей
    13.7.2011 в 19:50

    Слушай, не знаю с чем это может быть связано, но когда я пишу в блоге коммент — у меня иногда пропадает курсор, будто подвисает (или не моргает или просто не виден) и если я пытаюсь его переместить, то не вижу переместился он или нет. Вот кстати пока я писал это сообщение такого не было, а в теме про игру — появляется проблема. Видимо из-за большого количества комментов, но лично я не понимаю как это связано. Браузер IE 9

    P.S. Я про курсор ввода, или как он называется (вертикальноя палочка)

  6. admin
    14.7.2011 в 04:54

    А давно это началось?

  7. Сергей
    14.7.2011 в 08:53

    Не знаю когда началось, но заметил несколько дней назад. Правда до этого сидел с файрфокса. Счас пока установить другой браузер нет возможности.

  8. admin
    14.7.2011 в 09:04

    Раз тут у тебя не глючит — Значит проблема в самом хайлайтере.
    Експлорер хреново обрабатывает джаваскрипт, да и не только…

    Это старая версия, но менять на 3й я её не буду.
    3я версия не делает авто перенос строк.

  9. Сергей
    14.7.2011 в 15:18

    Ок.