href = "#" перенаправляет на страницу индекса, но не на верхнюю часть текущей страницы - PullRequest
11 голосов
/ 10 февраля 2010

Наличие странной проблемы на сайте.Тег ссылки, имеющий href="#anything", не перемещает вас на верх страницы или на указанную привязку, он перемещает вас на домашнюю страницу.Вот и все - при наведении курсора на ссылку я вижу в строке состояния моей FF example.com/# вместо example.com/testpage.php#.

Сайт полон кода дерьма, и невозможно проверить все настройки и особенно конфигурацию заголовкаи т. д.

Есть ли какие-либо подсказки о том, где это может быть?

PS Link's href не изменяется с JS, Firebug утверждает, что это будет href="#", когда я нажимаю на него.

Ответы [ 2 ]

18 голосов
/ 10 февраля 2010

Моя первоначальная мысль: у вас может быть где-то в игре базовый тег . Проверьте ваш код на что-то вроде следующего и удалите его при необходимости:

<base href="http://www.mydomain.com/testpage.php" />

Очевидно, что необходима осторожность, поскольку может существовать некоторая разметка, которая зависит от любых ранее существующих базовых тегов. Также убедитесь, что вашему значению href не предшествует косая черта, подобная этой:

<a href="/#anything">Click Me</a>

Поскольку это перейдет на #anything на начальной странице по умолчанию корневого каталога.

3 голосов
/ 10 февраля 2010

Возможно, у вас есть тег <base> в разделе <head> вашего кода?

Это заставит все относительные URL-запросы начинаться с указанного href в базовом теге. Если страница зависит от ее присутствия, я настоятельно рекомендую вам не удалять ее, иначе вам может потребоваться много обновлений.

Дополнительная информация:

...