Вопрос

Я разрабатываю систему, которая составляет 100% AJAX, кроме конечно, первый запрос.

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

Кто-нибудь знает, как я могу это сделать?

Это было полезно?

Решение

Чтобы переписать все местоположение, а не только «Часть HASH», API истории браузера может использоваться, хотя в настоящее время это только кажется Поддерживается в Gecko 1.9.3 / Firefox 4.

history.replaceState({}, document.title, url)

Другие советы

Изменение всего URL без навигации невозможно, просто представьте проблемы с безопасностью что это может генерировать.

Вы можете изменить только location.hash, что является частью URL, которая следует за # символ:

location.hash = "foo";

Ваш URL изменится на http://someurl.com/#foo.

Вы можете использовать тот же метод, который использует Gmail. Добавьте якорь до конца URL, браузер не должен перезагрузить страницу, но вы можете прочитать информацию в document.location.href и действовать на это. Это также сохранит функциональные возможности нажатой кнопки (предоставляя ваш JavaScript поддерживает его)

Например

Первая страница есть http://www.mypage.com/index.php Вы нажимаете на следующую «страницу», используя <a href="#page2">link</a> и это меняется на http://www.mypage.com/index.php#page2

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top