надежный кросс-браузерный способ получить границы выбора? - PullRequest
3 голосов
/ 25 ноября 2010

Мне нужно, чтобы пользователь мог выбрать какой-то текст, нажать кнопку и заставить сервер запомнить выбор в следующий раз.

Я подробно прочитал вопросы и ответы SO, попробовалнекоторые библиотеки, но без везения: еще не нашли надежного инструмента.

Неважно, как определяются границы выделения: это может быть «nth textNode, mth char» или «nth char oftext », или« nth char of html », или что-то еще, если это позволяет серверу идентифицировать точки в документе;что действительно важно, так это то, что при выборе одних и тех же слов одного и того же документа в chrome, safari, IE, firefox должен быть одинаковый результат.повсюду в Интернете: только на одном сайте, где структура документа фиксирована, и изменится только содержание одного div (или подобного).

1 Ответ

0 голосов
/ 25 ноября 2010

Попробуйте мою Rangy библиотеку и модуль сериализатора .Я не уверен, что это именно то, что вам нужно, потому что вы упомянули сервер, запоминающий выбор, в то время как мое предложение использует куки-файлы, и выбор сериализации будет варьироваться в зависимости от браузера.Тем не менее, он работает так, как вы описали в первом абзаце.

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

...