Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/30: Рейтинг темы: голосов - 30, средняя оценка - 4.77
17 / 3 / 0
Регистрация: 12.05.2011
Сообщений: 33

Текстовый редактор на JavaScript

08.03.2012, 14:32. Показов 6103. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток. Помогите пожалуйста решить задачку.
Мне понадобился простенький текстовый редактор для сайта. С помощью гугла я нашёл несколько примеров такого редактора. В целом все они идентичны, и работают по тому же принципу, что и текстовый редактор данного сайта. Текст вводится в textarea, а разметка производится с помощью тегов bbCode. Можно, конечно, использовать один из таких вариантов;
Дело в том, что я видел гораздо более красивое решение (в оболочке Moodle). Там текст вводится прямо в iframe, и при разметке никакого bbCode'а или ещё чего-то постороннего не видно. Прям как в обычном ворде: нажал кнопку B - текст сразу стал жирным, нажал I - появился курсив, и т.д.
В общем, у меня появилось большое желание сделать нечто подобное. И, естественно, начались проблемы, т.к. этот вариант гораздо сложнее. Шаблонов или примеров такого редактора мне найти не удалось. Начал кумекать сам. В общем, вот всё, что у меня получилось:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<SCRIPT>
function getChar(event)
{
    if (event.which == null)
    {
        MainFrame.document.write (String.fromCharCode(event.keyCode)); // IE
    }
    else if (event.which!=0 && event.charCode!=0)
    {
        MainFrame.document.write (String.fromCharCode(event.which));   // остальные
    }
}
function getKey(event)
{
    var key = event.keyCode;
    switch (key)
    {
    case 32:
        MainFrame.document.write("&nbsp;");
        break;
    case 13:
        MainFrame.document.write("<BR>");
        break;
    case 8:
        alert("backspace");
        break;
    }
}
</SCRIPT>
<BODY TOPMARGIN = "0" LEFTMARGIN = "0" onMouseUp = "selection()" onkeydown = "getKey(event)" onkeypress = "getChar(event)" SCROLL = "no">
<TABLE BORDER = "0" CELLPADDING = "0" CELLSPACING = "0" WIDTH = "100%" HEIGHT = "100%">
<TR><TD HEIGHT = "100px">Toolbar
</TD></TR>
<TR><TD><IFRAME ID = "MainFrame" WIDTH = "100%" HEIGHT = "100%"></IFRAME>
</TD></TR>
</TABLE>
</BODY>
</HTML>
Дальше ничего придумать не могу. Главная проблема с кареткой (или как там называется этот мигающий курсор). Как сделать, чтобы она перемещалась по тексту - ума не приложу. Ну и как сделать удаление или вставку текста - тоже мне непонятно. К тому же то, что я написал глючит в разных браузерах по разному. Например, в опере каждый символ печатается с новой строки. В связи с этим у меня возникло сомнение, что я вообще двигаюсь в нужном направлении. Может я всё начал неправильно?
Подскажите пожалуйста кто что знает по данной теме. Если бы кто-нибудь дал дал ссылку на пример (шаблон) такого редактора - было бы вообще отлично.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.03.2012, 14:32
Ответы с готовыми решениями:

Текстовый редактор
Нужен текстовый редактор, хотя бы самый простенький. Но раньше с его установкой на сайт, никогда не работал... Подскажите: 1) Где его...

редактор JavaScript
изучаю в данный момент Js и очень большие проблемы с синтаксисом , редактирую в Dreamweaver Проблема в том что если скрипт где то...

Текстовый редактор на сайте(кнопки).
Как сделать такое: например, в textarea ввожу текст, и скажем часть текста нужно сделать жирным...например я выделил мышью нужный текст и...

3
93 / 93 / 9
Регистрация: 20.02.2011
Сообщений: 210
16.03.2012, 20:55
Цитата Сообщение от EvGеn Посмотреть сообщение
Подскажите пожалуйста кто что знает по данной теме. Если бы кто-нибудь дал дал ссылку на пример (шаблон) такого редактора - было бы вообще отлично.
tinyMCE качай редактор проверенный временем и тысячами пользователей. Свой конечно можешь написать, но лучше эту идею похоронить сразу. Там сотни людей трудились над вычесыванием скрипта
1
17 / 3 / 0
Регистрация: 12.05.2011
Сообщений: 33
16.03.2012, 22:29  [ТС]
djdish, спасибо за ссылку. Это примерно то, что я искал. Теперь попробую его расковырять и посмотреть как работает.

Добавлено через 9 минут
Кстати, у меня такое впечатление, что в Moodle, о котором я писал, используется именно такой редактор. Уж больно они похожи.
0
0 / 0 / 0
Регистрация: 05.01.2019
Сообщений: 2
19.02.2019, 12:21
https://eloquentjavascript.net... n/code/#18
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.02.2019, 12:21
Помогаю со студенческими работами здесь

текстовый редактор, заменить div на p
Здравствуйте. Пишу текстовый редактор для админки, есть такая проблема : в окне редактора (iframe с designMode = &quot;on&quot;) , по...

Текстовый редактор кода с нуля
Помогите советами! Хочу начать писать СВОЙ текстовый редактор кода под броузер. (под особый узкоспециализированный скриптовый язык) ...

TinyEditor — визуальный редактор на JavaScript
Если кто сталкивался с данным редактором, подскажите пожалуйста как получить все содержимое textarea в переменную в js &lt;textarea...

Посоветуйте редактор для JavaScript
Посоветуйте пожалуйста хороший редактор для работы с JavaScript. Есть ли такие редакторы для JavaScript, которые ошибки в коде ищут?

Легковесный bbcode редактор на чистом javascript.
Никак не могу найти редактор bbcode именно на чистом javascript. На сайте javascript не используется, поэтому не хочется тянуть jquery. В...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru