Обновить параметр URL с помощью JavaScript, не разрушая историю? - PullRequest
2 голосов
/ 07 сентября 2010

Я ищу способ обновить URL в строке состояния .. У меня есть галерея, и когда вы щелкаете по ней через галерею, я хочу, чтобы идентификатор изображения отображался в URL, чтобы пользователь мог связываться непосредственно с изображением.

Я читал об использовании хэша и так. но, насколько я попробовал, это «разрушает» историю. Если я нажму кнопку возврата в моем браузере, будет показано предыдущее изображение.

Можно ли добавить или обновить параметр URL, не разрушая историю?

Заранее спасибо

Ответы [ 2 ]

3 голосов
/ 07 сентября 2010

Используйте location.replace для замены текущего местоположения:

Замените текущий документ документом по указанному URL-адресу.Отличие от метода assign() состоит в том, что после использования replace() текущая страница не будет сохранена в истории сеанса, а это означает, что пользователь не сможет использовать кнопку Назад для перехода к ней.

1 голос
/ 07 сентября 2010

Сделайте это просто так, при переключении на изображения добавьте хеш к URL, например:

location+='#image-'+image_id

ваше местоположение станет

http://example.org/images/#image-3

вместо исходного

http://example.org/images/

и onload, проверьте, не является ли location.hash не пустым, и совпадает с ^image-(\d+)$ (шаблон регулярного выражения) , если он совпадает, выполните обычное действиесделано, если пользователь нажимает на изображение с идентификатором (\d+).

Чтобы сохранить историю, используйте действительно простую историю .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...