Xhtml Strict és _blank

A napokban fejeztem be egy oldalt, ami css+xhtml technikával készült. Az utóbbi időben figyelek a validálásra, tehát ellenőrzöm az (x)html és css kódot is. Nagy meglepetésemra a linkekben ahol a target=”_blank” szerepelt, errort kaptam. Ennek oka, hogy az xhtml 1.0 strict szabványa nem támogatja az új ablakban megnyíló (_blank, _top, stb..) linkeket. Ezt azzal magyarázzák – és én maximálisan egyet értek vele – , hogy a felhasználó inteligens, és ha rákattint egy linkre, akkor tudja, hogy az tovább viszi egy másik címre, és azt azért teszi, mert annak rövid nevében eszenciált további információkra kíváncsi. Egy szóval nem egy véglény, aki össze-vissza kattogat. Meg egyébként is.. ez az egyik olyan eleme az egész webesdinek, ami rengeteg bizonytalanságot rejt magában.. Mi fog történni ha rákattintok? Új ablak? Csak egy popup? 100 hirdetés? Letölt valamit? Ugye, ugye, nap mint nap aggódik az átlagember (mac felhasználó ott hátul, nem mosolyog!!! :) , hogy az adott link bevágja a kapásjelzőt (vírusirtót) vagy feltelepít valamilyen free porno plugint, ami majd Pistikének ugrik elő, mikor a Cartoon Network siteját nézegeti.
Egy szó mint száz, nem támogatják a _blankot. Na akkor mit csináljunk?? Maradt a javascript. Alábbiakban közlöm a kódot, ami klasszul megoldja a problémánkat:

function externalLinks() {
if (!document.getElementsByTagName) return;
var anchors = document.getElementsByTagName("a");
for (var i=0; i

FIGYELEM!! Ez a sz@ros code highliter rosszul jeleníti meg az & karaktert!!
Sokat szerintem nem kell magyarázni.. Az oldal betöltődésekor cserél, ezért egyetlen hibája van.. Ha lassan töltődik be a site/ sok a kép rajta, és közben a szörföző kattogat, még nem futott le a script.. Jobbat nem nagyon tudok ennél, de más sem. Lehet próbálkozni!

Mivel a target=”" teljesen kiesik, ezért egy rel=”" paraméterrel helyettesítjük, amelybe a js-ben megadott kulcsszót írjuk.

 

web-dev |

One Comments


  1. javascript not supported, ennyi :P

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.

Keresés

Témák

Linkek