2012-04-09 3 views
1

Какова роль # и! в href значение?специальный символ в значении href метки привязки

<a href="#!${pageContext.request.contextPath}/dic/users/home.ct" rel="home"> 
+2

нуждается в дополнительной информации, похоже, что вы используете какой-то механизм шаблонов. Можете ли вы указать, где вы видели этот код? – nak

+0

@nak да, почти похоже на ошибку, что она должна была быть переведена сервером во что-то. – McGarnagle

ответ

1

# указывает на якорь (<a name="xx"> или <element id="xx">)

Челка, вероятно, для ajax-crawling совместимости. Комбинированный #! используется, чтобы сигнализировать Googlebot о том, что ваш сайт поддерживает эту схему.

Эта схема ссылок должна использоваться только из javascript, а не для печати в HTML. В этом случае на странице нет якоря, называемого !contextPath, но должна быть страница на /${pageContext.request.contextPath}/dic/users/home.ct.

1

enter image description here Это стало стандартом, установленным Google для обеспечения согласованности и обеспечения возможности сканирования ajax-urls.

См http://code.google.com/web/ajaxcrawling/docs/getting-started.html

Я считаю, что они используют history.pushState. Вы можете сделать history.back() в консоли, и он вернет вас на страницу.

Кстати, "!" используется для устранения случая с пустым хэшем. «http://url#» заставит браузер перейти на верх.

+0

Если вам нужны визуальные ссылки, но не ссылка (в случаях, когда вы используете 'href = '#' или' javascript: void (0) '), вы должны добавить его через CSS и' tabindex = 0', нет необходимости в неиспользуемом якоре. –

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