Недавно по работе мне пришлось писать интерфейс и функционал основанный на работе с текстом. Круг задач сводился к определению и запоминанию (в текстовом виде для хранения в базе данных) "координат"-диапазона выделенного текста или места где пользователь кликнул кнопкой, а так же получению текста внутри выделения или около клика и его визуальном оформлении для последующего воспроизведения.
Большинство реализаций виденных мною в сети так или иначе сводилось к работе с DOM, что не может устроить при работе с большими объёмами текста.
После непродолжительного поиска я набрёл на кроссбраузерную javascript-библиотеку Rangy.
Это замечательное решение охватывает максимальный круг задач по работе с текстом, которые могут вам встретится в ваших веб-приложениях.
Перечислю основные достоинства:
Ссылка на страницу проекта на CodeGoogle: Rangy
Ссылку на скачивание последней версии можно найти здесь
Большинство реализаций виденных мною в сети так или иначе сводилось к работе с DOM, что не может устроить при работе с большими объёмами текста.
После непродолжительного поиска я набрёл на кроссбраузерную javascript-библиотеку Rangy.
Это замечательное решение охватывает максимальный круг задач по работе с текстом, которые могут вам встретится в ваших веб-приложениях.
Перечислю основные достоинства:
- Единое API и результат во всех современных браузерах (а с недавнего времени и в Internet Explorer 6-8)
- Разделенность на модули в зависимости от поставленных задач
- Работа как с html-форматированным текстом, так и с текстом внутри элементов ввода (input's, textarea)
- Оборачивание в теги и css-форматирование фрагмента текста с которым вы работаете, при котором объект и диапазон исходного текста не меняется - т.е. если вы обернули какой-то фрагмент в оформляющий тег, то html-конструкция реализующая его игнорируется самим rangy для создания фиксированных диапазонов не зависящих друг от друга.
- Исчерпывающая документация (на довольно прямом и внятном английском), примеры и активное сообщество, постоянно развивающее это библиотеку.
Ссылка на страницу проекта на CodeGoogle: Rangy
Ссылку на скачивание последней версии можно найти здесь
Комментариев нет:
Отправить комментарий