изменить URL в вариант хеш-фрагмента - PullRequest
0 голосов
/ 10 января 2012

Это не похоже на простое хэширование pushState, поскольку оно действительно изменяет весь URL.

Нет обновления страницы + это полностью изменяет URL-адрес, обрезая его все и снова помещая в URL-адрес какфрагмент хеша.Пожалуйста, ознакомьтесь с приведенным ниже примером.

Посетите, например, URL: http://www.couverts.nl/restaurant/13233/jo-van-den-bosch/den-bosch

, который мгновенно изменяется на: http://www.couverts.nl/#/restaurant/13233/jo-van-den-bosch/den-bosch

Кто-нибудь знает технику, используемую здесь?И, может быть, кто-то может привести простой пример того, как это реализовать.

Ответы [ 2 ]

0 голосов
/ 26 января 2013

Я также внимательно изучаю эту проблему: как насчет директив переписывания Apache? Быстрая и грязная будет:

RewriteEngine on
RewriteCond %{SCRIPT_FILENAME} -f
RewriteCond %{SCRIPT_FILENAME} -d
RewriteRule ^(.*)$ index.php/#/$1

, а затем index.php читает путь и выполняет некоторую работу и просто отправляет заголовок клиенту

header('Location: http://www.example.com/#/bla/bla')

Вся идея в этом, конечно же, AJAX и шаблон Front Controller.

PS: Я только что переписал некоторые директивы Apache из «Направления всех запросов на index.php» главы 2, связанной с классом Zend_Controller из книги «Практические приложения Web 2.0 с PHP», написанной Квентином Зервасом ...

0 голосов
/ 10 января 2012

Изменение URL без обновления страницы использует совершенно новый API истории, в основном history.replaceState

Бенджамин Балуптон написал очень хорошую history.js

И я приглашаю вас также проверить все характеристики: http://dev.w3.org/html5/spec/history.html

Смена только location.hash является легкой частью здесь.

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