HTML5 History API: дожить до чистой истории?

History API позволяет сохранять объект состояния в истории браузера. Теперь попробуйте эту демонстрацию (но это то же самое, что и любая другая, выберите понравившуюся :)):

  1. Нажмите на некоторые ссылки, чтобы создать историю
  2. Очистить историю браузера (полностью или только для этого сайта)
  3. Вы все еще можете пройти через историю

Я ожидал, что очистка истории повлияет, но это не так...
Может ли кто-нибудь объяснить такое поведение?


person Jocelyn LECOMTE    schedule 30.03.2012    source источник


Ответы (2)


Метод history.pushState()

«Объект состояния может быть чем угодно, что может быть сериализовано. Поскольку Firefox сохраняет объекты состояния на диск пользователя, чтобы их можно было восстановить после того, как пользователь перезапустит свой браузер, мы налагаем ограничение на размер в 640 тыс. символов для сериализованного представления объекта состояния. Если вы передаете объект состояния, сериализованное представление которого больше этого, в pushState(), метод выдаст исключение. Если вам нужно больше места, чем это, вам рекомендуется использовать sessionStorage и/или localStorage».

Ссылка: https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history

person Rahen Rangan    schedule 25.04.2012
comment
Я согласен, но суть моего вопроса не в этом. Я переформулирую, так как кажется, что это трудно понять. - person Jocelyn LECOMTE; 27.04.2012

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

person Jocelyn LECOMTE    schedule 27.04.2012