Mám jednoduchý dotaz: Jak otevřu link v novém okně, aby to bylo validní XHTML1.1?
Díky
JS nebo pravým tlačítkem....
Muhaha, srandy kopec.
Poradil sem si sám.
A jak, poraď nám nevědomým?
Garofano: to by me zajimalo presne jak. ja osobne neznam reseni ktery by bylo validni, pouze reseni jak obejit validator
Nevím, jestli sem ten validátor obešel, ale každopádně si nestěžoval:
JS:
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";
}
}
window.onload = externalLinks;
HTML:
<a href="http://www.hovno.cz" rel="external">blbost</a>
Garofano: Presne tos udelal.
anchor.target = "_blank";
to je to samy, ako kdybys ten target zadal rovnou
Tak místo kritiky navrhněte jinej způsob....
Neexistuje žádný způsob, protože bohužel XHTML dokumenty nejsou zamýšleny jako dokumenty, které se samy otevírají v nových oknech. XHTML dokumenty spoléhají na to, že se otevřou do nového okna pouze tehdy, bude-li uživatel chtít a zmáčkne shift+odkaz nebo pravé tlačítko a vybere příslušnou volbu.
To, co dělá tvůj JS, je vlastně vepsání target=_blank do právě načteného dokumentu... což se dá udělat rovnou bez použití JS.
Podtrženo a sečteno. Vykašli se na nová okna, uživatel si je otevře sám (třeba já mám takovou mánii, že jednou týdně zavřu v Opeře všechna okna, protože jich tam mám už kolem padesáti :D).
>> uživatel si je otevře sám
Zapomneli na to, ze uzivatel muze byt blbej...
Oni to věděli, ale byli blbí taky, tak to nechtěli přiznat... ;)
Někdy je to prostě potřeba a na to se asi nemyslelo.
Taky jsem zastávala otvírání v novém okně (samozřejmě ne vždycky, ale jen v určitých případech). Ale postupem času jsem zjistila, že až na opravdové výjimky - jako např. nápověda k něčemu v aktuálním okně (tam jsou skutečně potřeba obě okna zároveň) - se bez toho dá v klidu obejít. Řeším to vhodně umístěnou navigací nebo aspoň tlačíkem zpět na všech stránkách. Validně otevřít nové okno v XHTML 1.1 opravdu nejde.
K validitě: ono <a href="javascript:window.open(...)">... je validní ne? A ve window.open si to nasměruju do nového okna....
oni asi myslí jenom pomocí html
Průšvih javascriptu je v tom, že uživatel ho může mít vypnutý a pak se mu otevře houbeles.
Nějaká kompatibilnější řešení JS odkazů od Pixyho: http://pixy.cz/blog/2003_12_archiv.html#1070553140
Mno, javascript není řešení. Ale Frameset či Transitional dtd klidně ano... já ale boj za target už vzdal... nemá smysl se s lidma pořád hádat, když uživatel o tom ví stejně prd... a jsou uživatelé, kteří mají ve zvyku okna pořád zavírat (jako třeba já) a tak prostě zavřou okno a pak musej otevřít nové, aby se dostali tam, kde byli předtím ;)
No jo, jenomže pokud nemáte zapnutý JS, tak si ani nepřečtete poštu. Už je to dneska pomalu nutnost...