Ошибка Rangy: deserializeRange: контрольные суммы корневого узла сериализованного диапазона не совпадают после загрузки страницы

Я сохраняю выбор с помощью rangy на моей динамической веб-странице. Но когда я перезагружаю страницу и возвращаю выбор, я получаю следующую ошибку:

Ошибка: deserializeRange: контрольные суммы корневого узла сериализованного диапазона (f3909155) и целевого корневого узла (c21b08a9) не совпадают

Источник страницы не изменяется вообще, и весь HTML одинаков. Я использую Tikiwiki CMS. Есть идеи по этому поводу?

2 ответа

Решение

Чтобы решить эту ошибку, вам нужно пройти omitChecksum параметр к serializeSelection функция. Это предотвратит проверку DOM. serializeSelection вернет сериализованную форму выбора, которую вы можете сохранить в БД или cookie.

Смотрите следующий пример:

var selObj = rangy.getSelection();
var sel = rangy.serializeSelection(selObj, true);

Вероятно, DOM отличается в некотором роде. Убедитесь, что перед сериализацией вы не изменили выделение, например, используя устаревший CssClassApplier.

Другие вопросы по тегам