Добавление заметок, сохранение на последнеей прояитаной странице и прочее


#1

Доброе время суток. Ввопрос такой, есть книга, нужно сделать так, чтобы пользователь почитав книгу, мог оставить заметку(например ввделить часть текста желтым), примерно как работа с pdf документами. А еще сохранение на последнем прочитаном месте, но это уже скорее к php больше относится.
В каком направлении думать?


#2

А что именно не понятно?


#3

Сложный вопрос, не понятен алгоритм действий, тоесть у меня в iframe вставляется путь к книге, но ее можно только скролить. С чего вообще начать делать этот фунацилнал и есть ли смысл вообще делать это с нуля.
Просто я за отсутствием глубокого знания js даже не представляю как сделать, чтоюы пользователь мог выделять фрагменты и это не обнулялось при перезаходе.

За ранее извиняюсь за свою тупость)


#4

Стратегия почти любой задачи - сначала описать структуры данных, которые решают твою задачу. Потом функции, которые используют эту структуру и решают задачу.

В данном случае нужно придумать какая структура данных описала бы выделенный текст. Для этого нужно знать какие API есть у DOM для выделенного текста. Подумать как через эти API можно получить, и как восстановить выделение (сохранение - тривиально ибо это данные). Если завязываться на индексы символов, например, то как быть когда учебник будет обновляться (если будет). Как реализовывать восстановление подсветки и выделения - тоже вопрос. Если их будет много, то производительнее бы менять разметку, которая отдается на клиент (а это отдельная большая история). Если разметку не менять, но нужно придумать и запрограммировать выделение каким-нить трюков (например цветными прямоугольниками, лежащими за текстом).

В целом задача нетривиальная. Если можешь не делать, лучше не делай.


#5

http://velocityjs.org/blast/

Вот это выглядит как библиотека которая может восстанавливать выделение.


#6

За ответ спасибо, теперь осталось объяснить это тем, кто такое придумывает)