Xhtml Strict és _blank
September 12th, 2006 | Written by Varga Péter | Topic: web-devA 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 |



Comment by kbr on the September 19th, 2006 at 21:22
javascript not supported, ennyi