Доста хора ползват target=”_blank”, когато дават “външни препратки”, (че и вътрешни такива), но в един момент се оказва, че ако искаме да следваме стандартните, в частност XHTML Strict, ще се наложи да се лишим от тази “екстра”. Защо – аз не мога да отговоря точно, просто знам, че това е deprecated и толкова. Порових се малко и попаднах на този сайт. В него намерих симпатично решение, за което обаче, е необходимо да имаме JavaScript. Не, че без него няма да работят препратките, но ще продължават да си се зареждат в parent window. Преди малко, като разглеждах същия този сайт, обърнах внимание и на датата – September 17th, 2005 at 7:01 pm – та предполагам, че има и по-добро решение, но това гарантирано работи, поне за мен. Има и някакъв “разширен вариант”, но доколкото го разбирам, за мен не е практичен, защото аз нямам желание всички препратки да се отварят в нов прозорец, а само определени такива. Единственото неудобство е, че трябва да добавям rel=”external” на ръка, но това не е чак толкова страшно.
По-подробно за този мъничък скрипт ще прочетете на сайта на Брус, аз тук ще кажа набързо, как работи за мен, конкретно за този блог, базиран на WP 2.2:
- Създайте си най-обикновен текстов файл, в който копирайте този код:
function externalLinks() {
if (!document.getElementsByTagName) return;
var anchors = document.getElementsByTagName("a");
for (var i=0; i var anchor = anchors[i];
if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external") {
anchor.target = "_blank";
anchor.title = (anchor.title != "") ? anchor.title+" (opens in a new window)" : "opens in a new window";
anchor.className = (anchor.className != '') ? anchor.className+' external' : 'external';
}
}
}
window.onload = externalLinks; - Запишете го като external.js
- Копирайте го в root директорията на блога.
- Отворете header.php, след това, непосредствено над
, добавете следното:
. - Запишете файла, копирайте го върху стария, натиснете F5 и опитайте, дали работи. За да работи коректно скрипта, е необходимо във всяка препратка, която искате да се зареди в нов прозорец, да добавите следното – rel=”external”. Пример:
Google.
Редакция 07 Август 2007: Затварям тази статия за коментари, че явно някакви хитри спамери си я харесват и я пълнят с боклуци. Нямам идея, защо Akismet не ги лови. Ако все пак имате някакви въпроси, можете да ми пишете на steve [at] zabunov [dot] be.
Ако тази публикация ти харесва, абонирай се за моя RSS поток.
No related posts.