2013-06-16 2 views
4

На странице списка продуктов, нажав ссылку «купить», я добавляю статью в корзину с помощью Ajax и помещаю ее в document.location.hash. Когда я удаляю статью из корзины и возвращаюсь с помощью кнопки «назад» в браузере, мне нужно удалить идентификатор продукта из location.hash на странице списка продуктов. Возможно ли это?изменить document.location.hash в истории

ответ

2

Nope. Вы не можете изменить историю в браузерах по дизайну, представьте, какие последствия для безопасности будут иметь? Например, вы можете вставить что-то в историю и выдать history.back(), чтобы отправить пользователя туда, где хотите!

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

Добавить: когда пользователь нажимает кнопку «Назад», страница извлекается из cahce или с сервера, в зависимости от информации заголовка и т. Д. Браузер уже отобразил страницу всякий раз, когда ваш код начнет работать. Затем изменение объекта местоположения приведет к дополнительной загрузке/перезагрузке страницы. Если вы ЗНАЕТЕ, что идентификатор недействителен, нет необходимости удалять его из хэша местоположения, вы можете обработать его в коде сервера.

Смежные вопросы