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

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

08.03.2012, 14:32. Показов 6093. Ответов 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
Ответ Создать тему
Новые блоги и статьи
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru