С помощью JS или PHP обновлять URL в адресной строке браузера, не переходя к нему?

#javascript #iphone #android

#javascript #iPhone #Android

Вопрос:

При создании сайта mobi, работающего как приложение для iPhone (с использованием jQuery, JS, PHP), мы столкнулись с проблемой: URL-адрес остается неизменным (www.example.com ) Я хотел бы добавить дополнения, удобные для копирования и вставки, в конец URL-адреса, но я не хочу, чтобы страница перенаправлялась или обновлялась (ссылки полностью действительны и попадают на определенную страницу профиля, и для этого у нас есть Google indexable sitemap. Мы просто не хотим жертвовать всей классной анимацией jQuery, которую мы реализовали, только для того, чтобы иметь удобные для копирования URL-адреса ..)

Для exmaple, допустим, были включены www.example.com Когда пользователь нажимает на ссылку профиля в результате ListView like, URL меняется на www.example.com/CategoryName/ListingName/ID который, опять же, полностью действителен на нашем сайте, но обновление URL всегда приводит нас непосредственно на страницу, принося в жертву анимацию слайдов, имитирующую вид загрузки из ListViews в iPhone.

Есть идеи?

Комментарии:

1. 1 За то, что задал вопрос с example.com вместо произвольного домена.

Ответ №1:

Смотрите pushState.

Убедитесь, что вы построили систему таким образом, чтобы URI действительно работал при прямом нажатии. Прогрессивное улучшение — хорошая вещь.

Ответ №2:

Для этого вы можете использовать хэш-часть URL-адреса:

www.example.com#some_state

Затем проанализируйте его ( document.location.hash ) с помощью JavaScript и измените отображаемый контент на основе этого.

Изменение любой другой части URL-адреса приведет к отправке запроса к серверной части.

Ответ №3:

Вы пробовали просматривать новый history API HTML? Github использует это на страницах для просмотра файлов проекта.