Нужно написать несколько кросcбраузерных функций для реализации редактора WYSIWYG и прикрутить к моему шаблону
Вот этот редактор
http://vulk.ru/page/view/11/ полное говно, такого говнокода не нужно
Кто сможет написать несколько кросбраузерных функций с подробными комментариями для меня за 30$ + по возможности прикрепить их к редактору
Функции (лучше конечно чтобы одна дополняла другую вот в такой последовательности):
- получить выделенный текст и вывести его на экран
- заключить выделенный текст в переданный функции тег (с параметрами), если нет выделения то создать пустой тег в месте мигания курсора (чтобы при печате печаталось в этом теге)
function add_tag(tag,param) {
//где tad = допустим 'span'
//где param = например 'style="color:#ff0000;"'
}
или
function add_tag(elm) {
//где elm = указатель на элемент
}
- удалить переданный функцию тег если выделенный текст находится в нем, либо если мигающий курсор находится в нем
function delete_tag(tag) {
//где tad = допустим 'span'
}
- функция проверка вложенности, вывести на экран количество тегов в которых находится выделенный тег, либо мигающий курсор
function count_tag() {
//например для кода <body><h1><span>выделенный текст</span></h1></body> выведет число 2
//для <body><span>выделенный текст</span><h1></h1></body> выведет 1
}
- исходя из вышеописанной функции сделать возможность перебирать эти теги и удалять не нужные с помощью функции delete_tag()
____________________________
Эти функции первое что пришло на ум, но это может быть и не верное решение
Поэтому не обязательно их делать такими как я написал, главное чтобы была возможность вставлять теги, удалять теги, получать выделенный текст и курсор, в общем реализовать качественный
кросбраузерный редактор
в архиве прикрепил сам шаблон редактора к которому нужно написать события для каждой кнопки
шаблон редактора:
http://dump.ru/file/5841120
http://www.onlinedisk.ru/file/937519/
В общем чем будет более качественный код и чем проще мне будет его понять чем он будет профессиональней тем больше $ смогу перечислить за работу
+
Суть работы не сделать за меня редактор, а реализовать функции для моего быстрого обучения и самостоятельного допиливания, экономии моего времени, поэтому код должен быть построчно прокомментирован
чтобы я потом не рылся в документации, все равно буду его подправлять и переделывать по своему вкусу (т.е. нужны универсальные функции как я написал выше)
тупое применение execCommand( мне не нужно
функции должны оперировать selection.createRange , getSelection и подобной темой работы с элементами dom
и главное все должно работать во всех браузерах
До того как написать это сообщение я прочитал массу всего
http://vremenno.net/js/free-wysiwyg-editors-review/
http://nicedit.com/demos.php
http://www.openwebware.com/wysiwyg/demo.shtml
http://www.solmetra.com/en/disp.php/...w/en_spaw_demo
http://koivi.com/archives/WYSIWYG-Editor/
http://www.themaninblue.com/experiment/widgEditor/
http://habrahabr.ru/post/38077/
http://2007.fastcoder.ru/articles/?aid=609
http://myrusakov.ru/js-create-editor.html
http://webcache.googleusercontent.co...=ru&lr=lang_ru
и т.д.
Пожалуйста не используйте чужие коды я сразу пойму откуда они взяты
со мной проще всего связаться через мэил агент или почту
function-@mail.ru
P.S. мне писать еще огромное количество кода, поэтому не хочу тратить свое время на рытье в документации и эксперементах что работает в опера а что нет, что в осле что в мазиле
как я понял нужно учитывать 3 браузера IE/Opera/Mozzila (и ему подобные браузера), в общем это тоже нужно учесть при разработке