Итак, выдрав код замены DIV на TEXTAREA отсюда, выявил несколько неудобств (копируемый в клипбоард код теряет переносы, необходимо заключать в дополнительный контейнер содержимое) и внес коррекции. Однако, остался один недостаток - теряются пробельные символы в начале строк. Кроме того, теряется форматирование, но, на мой взгляд, это не является большим минусом при выкладывании кода.
Итак, решение позволяет сделать так, чтобы код помещался в контейнере TextArea. Не более того.
Вот код преобразовывающего скрипта:
В тексте, код необходимо поместить в контейнер:
Параметр id="code" указывает на то, что текст необходимо обработать.
Параметр rows задает количество строк поля TextArea.
Тег div можно заменить на любой другой, например, code. Это повлияет на внешний вид контейнера.
Код я вставил в виде модуля HTML/JavaScript в нижний блок шаблона моего блога.
Пример:
* * *
Обновил код: для пользователей альтернативных браузеров и Mac, текст в полях ввода не виден, всё из-за того, что на свойство innerText им совсем наплевать - оно не поддерживается DOM. Посему, не вдаваясь в подробности, я просто отключаю помещение кода в TextArea для всех браузеров, которые не IE. Возможно, позже найдется лучшее решение.
Да, знаю - камень в огород бесплатного блогирования.
2 комментария:
в файрфоксе нифига не видно. пустые текстфилды.
Вот ведь блин! значит innerText не поддерживается FF. Как уже достала эта древняя вражда браузеров. Столько времени прошло а проблемы те же... Вот уродство! Ладно, чтонть придумаем.
Отправить комментарий