2017-01-04 5 views
1

В настоящее время я разрабатываю большой проект (и я не знаю всю кодовую базу), и я просто наткнулся на то, что я не могу понять, и, надеюсь, кто-то может добавить некоторые советы.Неожиданное перенаправление якоря html

В моем проекте мы используем «сверху» -через, чтобы легко получить снизу вверх (ничего особенного). Но по некоторым причинам он не будет работать, как я ожидаю. Представьте URL, как: http://example.com/foo и следующий HTML:

<header id="top">top</header> 
 
<div style="height: 2000px"></div> 
 
<a href="#top">Click me</a>

В теории это работает отлично и головки http://example.com/foo#top без перезагрузки сайта, но на моем проекте будет перенаправлять на http://example.com/#top.

Я не могу увидеть EventListener, сделанный Javascript, который может перехватить событие click. Кто-нибудь получил некоторые подсказки для меня, которые могут быть неправильными (или я просто пропустил)?

+0

Запуск этого на сервере Apache? В этом случае я бы посмотрел файл .htaccess и посмотрел, есть ли модификаторы QUERY или REQUEST, которые могли бы это объяснить. – junkfoodjunkie

+2

делает это: http://stackoverflow.com/questions/2238688/href-redirects-to-the-index-page-but-not-to-the-current-pages-top –

+0

Вам необходимо предоставить [mcve ], обратите особое внимание на раздел «Разделить и победить». – Quentin

ответ

0

Благодаря @AmrElgarhy, я оставляю ответ на свой вопрос здесь.

Это из-за элемента <base> в моем HTML-коде. Для моего решения я не могу удалить этот узел, но я собираюсь добавить URI запроса на мой «к вершине» -anchor программным образом:

<header id="top">top</header> 
<div style="height: 2000px"></div> 
<a href="{{ request.uri }}#top">Click me</a> 

В то время как {{ request.uri }} будет содержать /foo или аналогичный ,

Смежные вопросы