Forum Webscript.Ru

Программирование => JavaScript & JScript => Тема начата: A_Lex1979 от 10 Декабря 2002, 12:02:39

Название: форматирование textarea
Отправлено: A_Lex1979 от 10 Декабря 2002, 12:02:39
Подскажите пожалуйста, как лучше сделать, чтобы в поле textarea в браузере отображался форматированный текст (с заданным шрифтом, выделением болдом и т.д.).
На mail.ru подобный интерфейс используеться для создания расширенных сообщений в html-формате
Название: форматирование textarea
Отправлено: ThE0ReTiC от 10 Декабря 2002, 12:39:38
A_Lex1979
Это не textarea
это:


Название: форматирование textarea
Отправлено: A_Lex1979 от 10 Декабря 2002, 14:25:37
т.е. textarea только для внешнего вида используеться, а редактирование происходит в слое?
Название: форматирование textarea
Отправлено: dub от 11 Декабря 2002, 10:00:19
ThE0ReTiC
Цитировать


Насколько я понял, это фича IE5.5, и Нетскейп ее игнорирует.
Какие существуют способы редактирования содержания textarea, поддерживаемые всеми браузерами? WYSIWYG в textarea, насколько я понимаю - это нереально. Или?
Каким образом можно, используя стандартный JS, обрамить выделенный в textarea текст тегами? Не добавить к textarea.value (как это делается в форме ответа этого форума), а именно обрамить выделенный участок текста? Или вставить, но в место расположения курсора?
И что за функция document.execCommand()? Тоже IE?
Название: форматирование textarea
Отправлено: Макс от 11 Декабря 2002, 10:15:05
как вариант (работающий под ie5) - iframe, которому потом делают:
iframe_name.document.designMode = "On";
Еще есть спец. activeX
URL http://msdn.microsoft.com/archive/en-us/dnaredcom/html/dhedsdk.exe (там в архиве дока по установке и написанию скриптов)

Где почитать:
msdn.microsoft.com (основной источник информации)
exper.ural.ru (здесь про designMode = "On")
Название: форматирование textarea
Отправлено: Макс от 11 Декабря 2002, 10:17:30
кстати вариант с IFRAME & designMode = "On" работает и под IE 4
Название: форматирование textarea
Отправлено: dub от 11 Декабря 2002, 10:24:49
Макс
Во-во, execCommand(), кажется, именно в designMode = "On" используется. Спасибо, почитаю. Я видел с помощью этой примочки совсем неплохо сделанный хтмл-редактор (http://mouse.org.ru/downloads/MouseDHTML/).
А как же с более стандартным подходом?
Название: форматирование textarea
Отправлено: Макс от 11 Декабря 2002, 17:08:51
Цитировать
А как же с более стандартным подходом?
а что значит более стандартный? У всех броузеров свои методы построения online-редакторов (либо их [методов] нет вообще).
Название: форматирование textarea
Отправлено: dub от 11 Декабря 2002, 23:53:13
Макс
Я имел ввиду более стандартный (с точки зрения стандартных html и js) способ управлять содержимым textarea или того же div.
Цитировать
Каким образом можно, используя стандартный JS, обрамить выделенный в textarea текст тегами? Не добавить к textarea.value (как это делается в форме ответа этого форума), а именно обрамить выделенный участок текста? Или вставить, но в место расположения курсора?

Глянул я свойства (defaultValue, name, value) и методы (focus, blur, select) этого самого объекта textarea и понял, что, видимо многого хочу от жизни. Кроме
theform.message.value += "["+vbcode+"]";, как здесь, наверное, ничего больше не придумаешь..
А iframe c designMode="On" действительно рульная штука.. Сам метод execCommand (http://msdn.microsoft.com/workshop/author/dhtml/reference/methods/execCommand.asp) при работе только с document и TextRange работает, начиная с IE 4.0, а с использованием controlRange - начиная с IE 5.0.
А команды (http://msdn.microsoft.com/workshop/author/dhtml/reference/commandids.asp) от IE 4.0 (большинство) до IE 6.0.
Странно, что многие команды, которые на самом деле полноценно работают (во всяком случае в IE6.0), обозначены как "пока не поддерживаемые". В частности: strikethrough, subscript, superscript, undo и redo. Не подскажешь, где найти инфу о том, какие версии IE эти команды поддерживают?
В общем, для юзверей с IE вне всякого сомнения эту фичу использовать нужно.

Возникает вопрос: каков метод построения онлайн редакторов в NN? Хотя, возможно, достаточно иметь две версии: designMode="On" и textarea c добавлением тегов для всех остальных. Но все-таки интересно.

Кстати, спасибо огромное.
Название: форматирование textarea
Отправлено: Макс от 12 Декабря 2002, 12:43:08
насколько я знаю, для NN есть какой-то специальный модуль для создания online-редактирования, но я с ним не работал. Где-то на sourceforge.net (по-моему) даже был проэкт, редактор под IE, NN , но ссылку и его название затерялись.