понедельник, января 21, 2008

Как лучше постить код в Bloggere

Итак, выдрав код замены DIV на TEXTAREA отсюда, выявил несколько неудобств (копируемый в клипбоард код теряет переносы, необходимо заключать в дополнительный контейнер содержимое) и внес коррекции. Однако, остался один недостаток - теряются пробельные символы в начале строк. Кроме того, теряется форматирование, но, на мой взгляд, это не является большим минусом при выкладывании кода.

Итак, решение позволяет сделать так, чтобы код помещался в контейнере TextArea. Не более того.

Вот код преобразовывающего скрипта:



В тексте, код необходимо поместить в контейнер:


Параметр id="code" указывает на то, что текст необходимо обработать.
Параметр rows задает количество строк поля TextArea.
Тег div можно заменить на любой другой, например, code. Это повлияет на внешний вид контейнера.

Код я вставил в виде модуля HTML/JavaScript в нижний блок шаблона моего блога.

Пример:


* * *

Обновил код: для пользователей альтернативных браузеров и Mac, текст в полях ввода не виден, всё из-за того, что на свойство innerText им совсем наплевать - оно не поддерживается DOM. Посему, не вдаваясь в подробности, я просто отключаю помещение кода в TextArea для всех браузеров, которые не IE. Возможно, позже найдется лучшее решение.
Да, знаю - камень в огород бесплатного блогирования.

2 комментария:

Unknown комментирует...

в файрфоксе нифига не видно. пустые текстфилды.

Unknown комментирует...

Вот ведь блин! значит innerText не поддерживается FF. Как уже достала эта древняя вражда браузеров. Столько времени прошло а проблемы те же... Вот уродство! Ладно, чтонть придумаем.