2009-12-28 2 views
0

У меня есть вопрос о ссылке href, попытался найти его, но не смог найти много информации об этом. У меня есть HREF ссылки вроде этого:Ссылка href на # вопрос

<a href='#' onclick='openSerialWindow();return false;'><h:outputText value="#{i18n.regFindSerialNumber}" /></a> 

ранее # был заменен на page.htm, что он должен связать с и что вызвало ошибку, когда пользователь щелкает правой нажал на ссылку и выбрать «Открыть в новом окне/вкладка». После замены page.htm на # он отлично работает с пользователем, даже с помощью r/c и откройте его в новой вкладке/окне.

Если пользователь просто нажал на ссылку в обоих направлениях выше обрабатываемых (# и page.htm), то мне интересно, что такое истинный смысл #?

спасибо.

ответ

2

# - анкерный хеш и указывает на верхнюю часть текущей страницы.

Вы можете создать привязки в своем документе следующим образом: <a name='anchor'></a>, а затем перейти к ним, добавив #anchor к URL-адресу страницы. Браузер переместится в положение без перезагрузки.

Если ссылка на page.htm произвела ошибку, то page.htm является неверной ссылкой.

Атрибут href существует только в качестве резервного в случае отсутствия Javascript. Javascripts's return false; предотвращает выполнение ссылки. Ссылка на # означает, что если javascript отключен, ничего не произойдет, щелкнув ссылку, за исключением того, что браузер переместится в начало страницы.

+2

Кроме того, если что-то ** НЕ ТРЕБУЕТ ** javascript для работы (например, ссылка ajax), вы всегда должны использовать действительный URL-адрес для предполагаемой страницы, так как 'href' и jsut возвращают false из вашего onclick - таким образом, страница деградирует для тех, у кого нет JS по какой-то причине. – prodigitalson

+0

Ссылка на page.htm ТОЛЬКО дает ошибку 404, когда пользователь щелкает правой кнопкой мыши и запускает «Открыть в новой вкладке/окне», если ссылка просто нажата, ошибки нет, она работает нормально. тогда как с # это работает в обоих направлениях. – msharma

0

См: http://www.w3.org/TR/html4/struct/links.html

# указывает ссылку на [имени] якоря в пределах страницы.

<A>, который вызывает некоторые javascript, как правило, не работает с командой «открыть в новом окне/вкладке».