Populárne otváranie obsahu linku do nového okna pomocou zápisu target="_blank"
sa stalo od zavedenia XHTML 1.1 nevalídnym. Riešením tohoto problému je použitie JavaScriptu.
Pre link, ktorý odkazuje na obsah, ktorý chceme zorbaziť ako target="_blank"
zvolíme class (môže byť ľubovoľný, to však bude vyžadovať úpravu JavaScriptu).
<a class="nove-okno" href="stranka.html">Stránka</a>
S použitím jednoduchého JavaScriptu nájdeme všetky linky, uložíme ich do poľa, zistíme, či nemajú zodpovedajúci class a ak hej, pri ich otváraní použijeme event onclick
s funkciou window.open(this.href)
, ktorá otvára odkaz v novom okne.
window.onload = function() {
var links = document.getElementsByTagName('a');
for (var i=0;i < links.length;i++) {
if (links[i].className == 'nove-okno') {
links[i].onclick = function() {
window.open(this.href);
return false;
};
}
}
};
Pre priaznivcov jQuery je tu taktiež niečo. V tomto prípade je zápis o niečo jednoduchší.
$(function(){
$('a.nove-okno').click(function(){
window.open(this.href);
return false;
});
});
zdroje: http://www.webmasterworld.com/forum21/11165.htm, http://www.thefutureoftheweb.com/blog/target-blank-xhtml11
Skôr by sa hodil nadpis "Target platný v Strict DTD?", pretože zrovna v XHTML 1.1 je atribút target platný – http://validator.w3.cz/check?uri=save:A12256C67C0…