20:09 28.04.2012
О rel=external и с чем его едят (JavaScript)
Иногда при просмотре кода страниц можно увидеть нечто вроде
P.O.P
Что такое
nofollow, пожалуй, известно почти всем. А вот что такое
external, ставит многих в тупик. На самом деле все просто. Использование атрибута
target в ссылках осуждается спецификацией HTML, валидный код получается только при использовании переходного
<!DOCTYPE>. Считается, что открывать ссылку в новом окне разумнее посредством скриптов, а не через атрибут
target.
Именно для этих целей и придуман "атрибут"
rel=external. Предполагается, что сценарий при загрузке страницы найдет такие ссылки и дальнейшее их поведение будет полностью под его контролем. Например, можно повесить на такие ссылки событие
click(). А можно посредством сценария просто добавить атрибут
target:
function externalLinks() {
if (!document.getElementsByTagName) return;
var anchors = document.getElementsByTagName("a");
for (var i=0; i < anchors.length; i++) {
var anchor = anchors[i];
if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external") {
anchor.target = "_blank";
anchor.className = "external";
anchor.title = "Открыть в новом окне"
}
}
}
window.onload = externalLinks;
Пост полностью в блоге разработчика на pointofpresence.ru