Подделка панели URL с помощью ajax и window.location

Я делаю запрос AJAX с.load. Это работает хорошо. Но у меня проблема с адресной строкой. Я хочу изменить адресную строку. Например. Когда AJAX загружается около / страница контактов. Я хочу изменить строку URL на about/contact.

Я использовал это.

window.location.replace = about/contact;

Но теперь он перенаправляет прямо на эту страницу. Но я не хочу, чтобы страница перенаправлялась на этот URL. Как я могу это исправить?

Спасибо!

2 ответа

Решение

Вы можете сделать это с помощью History API, хотя поддержка еще не универсальна, хотя хороша в браузерах, отличных от IE. Для примера использования: http://html5demos.com/history. Он изменит видимый URL-адрес, как вы хотите, а также позволит вам использовать кнопку назад, чтобы вернуться к предыдущим состояниям.

Предложите вам использовать что-то вроде history.js, так как это ведет себя соответствующим образом для браузеров, которые еще не поддерживают API истории. Сначала он будет использовать History API, а если его нет, будет использовать технику хеширования.

Если вы хотите сделать это самостоятельно, то определенно посмотрите на History API и как он работает, вот несколько мест для начала: статья 1, статья 2

Используйте плагин истории ajax, например, jquery-address.

Посмотрите на это: https://stackru.com/questions/116446/what-is-the-best-back-button-jquery-plugin

Другие вопросы по тегам