XHTML Strict – отваряне на препратки в нов прозорец

Доста хора ползват target=”_blank”, когато дават “външни препратки”, (че и вътрешни такива), но в един момент се оказва, че ако искаме да следваме стандартните, в частност XHTML Strict, ще се наложи да се лишим от тази “екстра”. Защо – аз не мога да отговоря точно, просто знам, че това е deprecated и толкова. Порових се малко и попаднах на този сайт. В него намерих симпатично решение, за което обаче, е необходимо да имаме JavaScript. Не, че без него няма да работят препратките, но ще продължават да си се зареждат в parent window. Преди малко, като разглеждах същия този сайт, обърнах внимание и на датата – September 17th, 2005 at 7:01 pm – та предполагам, че има и по-добро решение, но това гарантирано работи, поне за мен. Има и някакъв “разширен вариант”, но доколкото го разбирам, за мен не е практичен, защото аз нямам желание всички препратки да се отварят в нов прозорец, а само определени такива. Единственото неудобство е, че трябва да добавям rel=”external” на ръка, но това не е чак толкова страшно.

По-подробно за този мъничък скрипт ще прочетете на сайта на Брус, аз тук ще кажа набързо, как работи за мен, конкретно за този блог, базиран на WP 2.2:

  1. Създайте си най-обикновен текстов файл, в който копирайте този код:
    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;
  2. Запишете го като external.js
  3. Копирайте го в root директорията на блога.
  4. Отворете header.php, след това, непосредствено над , добавете следното:
    .
  5. Запишете файла, копирайте го върху стария, натиснете F5 и опитайте, дали работи. За да работи коректно скрипта, е необходимо във всяка препратка, която искате да се зареди в нов прозорец, да добавите следното – rel=”external”. Пример:
    Google.

Редакция 07 Август 2007: Затварям тази статия за коментари, че явно някакви хитри спамери си я харесват и я пълнят с боклуци. Нямам идея, защо Akismet не ги лови. Ако все пак имате някакви въпроси, можете да ми пишете на steve [at] zabunov [dot] be.

Ако тази публикация ти харесва, абонирай се за моя RSS поток.

No related posts.

This entry was posted in Разни. Bookmark the permalink.

Comments are closed.