Пишу библиотеку. Пилотное название "Ajax History Api".
Аналог "HTML5 History", с той лишь разницей, что она совместима со всеми браузерами и устройствами, поддерживающими технологию Ajax, а HTML5 History включена в самые свежие версии браузеров, поддерживается не всеми, и Android с ней не дружит.
Для тех, кто не знает, что такое HTML5 History: это технология, позволяющая мгновенно вернуться на предыдущую просмотренную страницу, даже если страница загружена во фрейм и адресная строка не изменялась.
По сути, она уже почти готова. Уже протестировал во всех версиях основных браузеров. Работает везде, даже на Android и IE6-7.
Собсна, сабж. Не могу принять решение, как хранить историю посещенных страниц. Суть такова. При подгрузке контента, открытии страниц, смене вкладок внутри одной страницы, все эти действия пишутся в историю. Вместе с ними пишутся метатеги страницы и координаты положения на странице перед тем, как вы покинули эту страницу.
А непонятка вот в чем. Например вы находитесь на странице site.ru/ivan
Затем вы перешли на страницу site.ru/ololo, а затем на страницу site.ru/trololo, после чего снова перешли на страницу site.ru/ivan, перезагрузили ее, написали там что-то, затем перешли снова на страницу site.ru/trololo
История посещений будет такова
site.ru/ivan
site.ru/ololo
site.ru/trololo
site.ru/ivan
site.ru/trololo
Как быть со страницей site.ru/ivan? Она уже претерпела изменений, но в истории хранится в старом виде. И изменять ли ее в истории, если хоть раз ее изменили в процессе навигации?
И воторй вопрос. Я думаю ее вообще удалять из истории, как только на нее зашли второй раз. Например, если удалять из истории страницы, которые вы посетили второй раз, то история будет такова:
site.ru/ivan
site.ru/ololo
site.ru/trololo
Собсна, вот эти два вопроса. Посоветуйте с точки зрения пользователя, как было бы для вас лучше?