Предпросмотр комментария вживую с помощью jQuery: теория

23 ноября 2008 г.

Уважаю такие движки (будь то форум, блог, или же какая-нибудь система управления сайтом), в которых предусмотрен предпросмотр набираемого сообщения/комментария. Он может быть полезен, к примеру, в случае, когда нужно изобразить в тексте кусок html-кода, а, как вы знаете, WordPress “съедает” теги из-за угловой скобки. Поэтому предпросмотр даст понять, что что-то вы набрали неправильно.

Лично мне очень не хватало предпросмотра комментария на движке WordPress. К примеру, в Drupal, который часто используется для блоггинга, эта функция предусмотрена по умолчанию (хоть и не такой, какой хотел бы ее видеть я).

Поэтому задался задачей сделать себе такую приблуду. Главной особенностью в системе предпросмотра комментария для меня является возможность живого предпросмотра, т.е. без перезагрузки страницы (например, как это сделано на Хабре или в Blogger’e).

Соответственно, это подразумевает использование JavaScript. А поскольку к моему блогу уже прикручен любимый мной фреймворк jQuery, то я, конечно же, искал решение на его основе. Пробовал ставить уже готовый плагин для WordPress, работающий на чистом JavaScript, но как-то он мне по душе не пришелся (у него я позаимствовал фильтры к своим скриптам).

В результате дальнейших поисков я очень удачно нашел одну статью, в которой прекрасно расписано то, что и было нужно мне для моего скрипта. На ее основе я создал целых 2 варианта скрипта предпросмотра комментария, которыми могу любезно поделиться с вами.

Характерные особенности этих скриптов:

  • Предпросмотр комментария происходит вживую, без перезагрузки страницы.
  • Если у комментатора отключена в браузере поддержка JavaScript, то это никак не скажется на юзабилити формы комментирования. Форма будет выглядеть стандартно, как будто никакого скрипта и нет.
  • Скрипты универсальны - их можно прикрутить к любой форме, которая предполагает наличие текстового поля <textarea>, т.е. нет привязки к какому-либо конкретному движку.
  • Решения кроссбраузерны.

И несколько слов о самих скриптах:

  • Вариант 1

    Рабочий пример этого варианта вы можете наблюдать прямо сейчас на моем блоге. Суть заключается в следующем: как только вы ставите курсор в поле комментария и начинаете набирать текст, под этим полем тут же появляется предпросмотр набираемого комментария. А с помощью CSS этот предпросмотр представляется в таком же виде, как уже выглядят опубликованные выше комментарии.

  • Вариант 2

    Данный вариант, над которым я сейчас заканчиваю работу, на мой взгляд, более элегантен, чем первый. Если вы являлись пользователем известного Гугловского сервиса Blogger примерно в тот момент, когда Гугл его купил, то, возможно, помните, как там красиво (ИМХО) был реализован предпросмотр: набираем текст, кликаем на кнопку “Предпросмотр” и вместо блока с набранным текстом видим блок предпросмотра.

    Мне такая техника очень понравилась, и, когда я планировал интегрировать предпросмотр на этот блог, то я хотел сделать точно так же. Получилось не сразу, но, как оказалось, сделать это было очень просто.

    Более того, во второй вариант я решил добавить кнопки html-редактора, чтобы избавить комментатора от необходимости набирать html-теги вручную.

    Как будет выглядеть второй вариант, можете увидеть на этом скриншоте (кликабельно):

    Предпросмотр комментария

    Кстати говоря, у меня появилось желание на основе 2-го варианта скрипта сделать плагин для WordPress. Думаю, он многим понравится.

Внимание! Теперь вопрос к читателям. Есть ли у вас желание заиметь первый вариант скрипта (который сейчас работает на моем блоге)? Про второй не спрашиваю, потому что обязательно о нем напишу.

Теги: , , , , автор: Dimox | рубрика jQuery

Комментарии (13): »

  1. вот второй вариант я бы хотел заполучить.
    да и первый тоже не мешало бы

    @
  2. Нравится и 1-й и 2-й варианты. Но хотелось бы это получить для Друпала.

  3. Интерестная вещица. Видел ее на webdesignerwall_com
    Если мне не изменяет память - чтото похожее и для друпала уже написали

  4. Да, интересно и полезно. Комментирую, чтоб оценить

  5. “Если мне не изменяет память - чтото похожее и для друпала уже написали”
    Да,вы правы,есть такая тема )

  6. Конечно нужен такой скрипт. Еще было б хорошо если б он не тока в WP работать мог. Я например свой движок буду писать и хотелось бы там подобное сделать

    ЗЫ клево сверстано тут у тебя все :) мелких наворотов много всяких

    @
  7. Хорашая вещь, и довольно таки интересная, может попробую ее в своих проектах

  8. Удобная вещь, мне бы тоже пригодилась бы. Первый вариант - хорош. Ну и второй , как плагин думаю будет пользоваться спросом.

  9. давно пора сделать такой плагин, полезна вещица

  10. Я делаю примерно тоже самое с помощью плагина для wp. Смотри как это выглядит у меня. Если оформить Css, то тоже ничего можно сделать )

  11. Прикольно получилось)

Присоединяйтесь к обсуждению!

Отправляя кoммeнтapий, вы автоматически принимаете правила кoммeнтиpoвaния на этом блоге.

Правила кoммeнтиpoвaния на блоге dimox.name:

  1. Первый кoммeнтapий всегда проходит премодерацию.
  2. В поле "URL блога" можно указывать только ссылку на главную страницу вашего блога. Ссылки на прочие веб-ресурсы (в том числе блоги/сплоги, созданные не для людей) будут удалены.
  3. Запрещается использовать в качестве имени комментатора слоганы/названия сайтов, рекламные фразы, ключевые и т.п. слова. В случае несоблюдения этого условия имя изменяется по усмотрению владельца блога. Просьба указывать нормальное имя или ник.
  4. Весьма вероятно, что короткий и неинформативный кoммeнтapий вида "Спасибо!", "Интересная статья", будет удален. Исключение составляют знакомые автору блога комментаторы.
  5. Комментарии не по теме удаляются.

Подписаться, не комментируя
  • Похожие статьи
  • Предыдущие из рубрики