HTML-якоря, которые работают с других страниц без перезагрузки главной страницы
Мое навигационное меню создается в одном файле PHP и включается в каждую страницу. Некоторые из ссылок являются просто якорями на главной странице. Когда пользователь находится на другой странице, эти ссылки должны вести их на домашнюю страницу, а затем на соответствующую привязку. Однако, если пользователь уже находится на домашней странице, было бы хорошо, если бы страница не должна была перезагружаться.
Это перезагрузит несмотря ни на что:
<a href="/home#anchor">link</a>
Это не перезагрузит, если вы уже находитесь на домашней странице, но не работает с других страниц:
<a href="#anchor">link</a>
Есть ли способ достичь лучшего из обоих миров без использования JavaScript?
3 ответа
Хорошо, я понял это. У меня была папка под названием home
, Так что если вы перешли к http://example.com/home
это займет у вас index.php
в home
папка. У меня также был внутренний якорь на index.php
, Если навигационная ссылка имела /home#anchor
как HREF
, то страница будет перезагружаться при нажатии на нее. Я обнаружил, что если ссылка /home/#anchor
(с дополнительной косой чертой), то при нажатии на ссылку страница не перезагружается. Надеюсь, это поможет кому-то еще.
Для тех, кто задается вопросом, как это сделать для домашней страницы WordPress, я обнаружил, что использование прямой косой черты без ничего перед ней работает:
/#anchor
Если вы используете плагин Polylang и формат заголовка URL-адресов, добавьте только:
/en/somepage/#something or /fr/somepage/#something
и т.п.
чтобы избежать перезарядки