Сохранять привязку при перенаправлении субдомена (IE) - PullRequest
2 голосов
/ 13 марта 2010

Firefox:
http://example.com/about/#anchor -> http://www.example.com/about/#anchor

Internet Explorer 6-8:
http://example.com/about/#anchor -> http://www.example.com/about/

Почему якорь сбрасывается в IE и что я могу с этим сделать? (Строка запроса не удаляется, только часть #xyz)

Является ли заголовок PHP или перенаправление JavaScript моим единственным вариантом? Спасибо за все подсказки.

Обновление: похоже, что хэш не отправляется на сервер. Было бы хорошим решением объединить заголовок PHP 301 и редирект javascript (вместе с location.hash)?

Ответы [ 3 ]

2 голосов
/ 13 марта 2010

Якоря никогда не отправляются на сервер, поэтому никакое решение на стороне сервера не может их сохранить.

1 голос
/ 01 сентября 2011

При перенаправлении на стороне сервера могут использоваться только якоря на стороне сервера. У них должен быть идентификатор (хотя я не уверен, что их нужно создавать программно)

Также вы можете передать параметр и использовать onload для перемещения фокуса на идентификатор или гиперссылку.

1 голос
/ 13 марта 2010

Была похожая проблема в Tomcat / JSP, не знаю о PHP. В Tomcat правилом было то, что #anchor предназначен только для браузера / агента пользователя, поэтому вы не можете его получить. Мой обходной путь должен был использовать Javascript на странице вместо того, чтобы достигнуть перенаправления. Мой совет: если вы не можете заставить его работать в PHP в ближайшее время, попробуйте попробовать обходной путь Javascript.

...