2017-02-20 16 views
1

Я разрабатываю приложение sitecore, я динамически создаю путь элемента из-за некоторой бизнес-логики. Когда я даюПочему Anchor тег не работает после удаления #

href= path+'#'+item name 

затем он работает, но его показ по URL-адресу и мой клиент этого не хотят. Поэтому я меняю логику и заменяю # на /. Но я, когда нажимаю на якорь, не перенаправляет. Почему это так ..

ответ

4

Якорный тег относится к определенному элементу внутри веб-страницы. # Выбирает элемент по идентификатору, это говорит браузеру загрузить URL-адрес, затем перейти к элементу с указанным идентификатором #item-name. Поэтому замена # на что-либо еще не будет работать, поскольку это селектор.

Вам нужно будет использовать маскировку URL, если вы хотите, чтобы # не был видимым.

1

Есть, вероятно, несколько хороших причин для людей, чтобы держать «#anchor» видимый в строке браузера URL ...

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

Если вы используете библиотеку JS для этого (for example), то вы можете исследовать более мягкие переходы между страницами, а не быстрый прыжок.