2013-09-28 1 views
3
<a href="#" 
    onclick=" 
    window.open(
     'https://www.facebook.com/sharer/sharer.php?u='+encodeURIComponent(location.href), 
     'facebook-share-dialog', 
     'width=626,height=436'); 
    return false;"> 
    Share on Facebook 
</a> 

Извините, если это вопрос для начинающих. Но почему там «href»? Какой цели это служит? Я не понимаю его цели.Почему атрибут «href» необходим в теге «a» в коде обмена FB

Я предполагаю, что «onclick» откроется новое окно, в котором есть вся информация в нем о том, что ссылка будет использоваться совместно, и целевое назначение FB.

Тогда почему «href» есть ????

+1

Дает ссылку «чувствовать», указательный палец и все. Это плохая практика, она должна использоваться в стиле. – tymeJV

+3

'href =" # '- это плохая практика, но стиль в стиле * хуже *, так как он не может быть перемещен без указательного устройства (так что это действительно больно, например, пользователям экрана). реальный URL-адрес, который будет посещен, если JavaScript по какой-либо причине будет удален. – Quentin

+0

Хм ... так @Quentin - Вы бы просто использовали фактический 'a' с отказоустойчивым' href'? – tymeJV

ответ

2

HTML-привязки (<a> теги) определяют интерактивные ссылки, но только если присутствует атрибут href. (Возможно, не существует элемента href, но вместо этого есть либо name, либо id; в этом случае это не ссылка, а ссылка на для ссылки). See the HTML specification for more detail.

Элемент # в атрибуте href указывает на предопределенный якорь, например, http://domain.com/page#section. В этом случае при нажатии ссылки браузер откроет страницу по адресу http://domain.com/page, а в своем браузере браузер ожидает раздел под названием #section, который определяется кодом <a name="section">. Найдя этот раздел, браузер разместит экран в этом положении.

Когда раздел не указан, только # предусмотрен, это означает, что это ссылка, указывающая на локальную страницу (или, более конкретно, в верхней части его). Если страница не находится наверху, она переместится вверх. Если он наверху, ничего не происходит.

Вы можете протестировать его с помощью файла creatin в формате HTML с ссылкой <a href="#">text</a>, он будет доступен для кликабеля, но эффекта не будет (единственный эффект, если он не находится наверху, он будет прыгать вверх).

return false; в конце кода JavaScript is there to prevent the "jump to the top", при его удалении браузер будет размещать свое представление в верхней части страницы при нажатии.

Некоторые утверждают, что href всегда должен указывать на фактические ссылки и использовать # заполнители - это плохая практика.

2

В нем указывается адрес URL. В этом случае он установлен в #, означающий, что он не откроет URL-адрес, но ничего не сделает. Он говорит «тегу», что эта функция будет что-то делать.

См. Стандартную меру.

Надежда, что помогает :)

1

Теги <a> не рассматриваются как активные ссылки если они не содержит HREF.

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