Возможный дубликат:
Измените URL без перезагрузки страницы
Обновление адресной строки с новым URL без хеша или перезагрузка страницы
мой сайт полностью основан на запросах Ajax, и простая навигация внутри сайта выполняется только с одной страницы. Это означает, что когда пользователи нажимают на пункты меню, он не загружает другую страницу, а загружает содержимое внутри элемента HTML. Но когда пользователь хочет связать страницу со своим другом, она всегда будет такой же, потому что http://mysite.com/mymainpage.php всегда будет одинаковым, независимо от того, что делает ajax. Как изменить заголовок пользователя? Например, когда они нажимают на «игры», может ли jquery / js / php / html изменить текущую адресную строку URL-адреса в браузере? так что это станет http://mysite.com/mymainpage.php?games=true . Затем пользователь может просто скопировать URL-адрес сайтов из адресной строки, и это приведет к правильному разделу загрузки ajax.
Вы можете использовать хеши:
(Вот что делает gmail: https://mail.google.com/mail/#inbox , https://mail.google.com/mail/#sent )
Вы можете прочитать хэш, используя
window.location.hash /* gives "#games" */
или
window.location.hash.substring(1) /* gives "games" */
И вы можете изменить его, используя
window.location.hash="#games"
или
window.location.hash="games"
(кажется, это работает, но лучше использовать первый вариант)
Затем каждый раз, когда пользователь нажимает на ссылку, меняет хэш и загружает новую страницу, как сейчас.
И когда пользователь входит на вашу страницу, проверьте, есть ли хэш в URL-адресе и загружает эту страницу.
Вы также можете добавить слушателя событий hashchange. См. https://developer.mozilla.org/en-US/docs/Mozilla_event_reference/hashchange
Редактировать:
Нет, у вас не может быть двух хэшей ( http://mysite.com/mymainpage.php#games#fashion )
Поэтому, если пользователь перейдет на http://mysite.com/mymainpage.php?games=true , вы должны перенаправить его на http://mysite.com/mymainpage.php#games .
И тогда вы можете изменить его на http://mysite.com/mymainpage.php#fashion без перезагрузки.