2010-01-29 2 views
0

Я имею Javascript обновляет свой URI, как показано ниже:Каков наилучший способ получить доступ к переменной URI после хэштега из php?

/index.php?page=list#page=news 

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

Я пробовал $_SERVER['REQUEST_URI'], но все, что хранится в $_SERVER, находится перед меткой.

ответ

4

Вы не можете. Эти данные, называемые фрагментом, зарезервированы для обработки на стороне клиента и поэтому никогда не отправляются на сервер.

Единственный способ использовать фрагмент - это вмешательство Javascript в какой-то момент. Вероятно, это означает проверку хэш-тега на странице onload, а затем отображение правильных данных.

Вы можете сделать всю свою страницу загруженной через Javascript. В то время как он убил бы совместимость для тех, кто выключен Javascript, это гарантировало бы, что хэш-тег в конце концов отправляется на PHP

В основном, это будет выглядеть примерно так:

  • PHP Посылает страницу
  • Javascript читает hastag
  • Сделайте URL с параметром хэштегом (loader.php? страница = список & страница = новости)
    (Обратите внимание, что в приведенном выше page=list Виль перекрываться page=news, так $_GET['page'] будет news.
  • AJAX вызов PHP
  • Загрузите содержимое в div.

(И этот вопрос очень дубликат вопрос)

+0

Спасибо за быстрый ответ. Возможно ли это с перенаправлением клиента javascript? Но как я могу заставить его игнорировать включение хэштегов из навигации на странице, чтобы предотвратить бесконечный цикл? – ensnare

+0

То, что я предложил, - это очень «приложение Javascript Application», в котором вы сохраняете только одну страницу и меняете ее с нагрузками AJAX. Вы можете сделать что-то, что в Javascript, проверяющем, была ли переменная GET 'page' такой же, как переменная' hashtag 'page', она не перенаправляла бы. –