09. november 2006 - 00:20Der er
12 kommentarer og 2 løsninger
alternativ til target i 4.01 strict
Jeg sidder og omdanner noget HTML 4.01 Transitional med fejl til HTML 4.01 Strict (uden fejl, naturligvis ;)). I originalen benyttes target="_blank" på a-tags til at åbne off-site sider i nye browser-vinduer. Nu er det jo så bare at target ikke eksisterer i Strict, så what now? Findes der alternativer som ikke er JS? (mere fordi jeg finder det ret klundet at bruge JS til dén lille sag)
Jeg tror ikke der er noget andet alternativ udover javascript. Søgte lidt på google, og der er nogen der har deres klare meninger til emnet. Læs eventuelt - søg target="_blank" strict på google, og de kig på de tre første sider.
Ellers er der måske andre herinde der har nogle forslag?
Er ret sikker på det ikke kan lade sig gøre. Det er ikke meningen at bruge det i strict - for brugernes skyld.
Nå, så må jeg undlade, og håbe på at folk efterhånden lærer højre-klik-åben-i-nyt-vindue tricket. Personligt finder jeg det blot møg hamrende irriterende at følge et link, og så opdage at jeg nu er på et andet site - og ofte må gentage søgninger helt forfra og bladre et par hundrede sider for at komme dertil hvor jeg var...
For så vidt ikke noget ;) Men nu ledte jeg jo efter løsninger uden JS, så det var mere dét ;) Det jeg egentligt havde forestillet mig var, at der var kommet noget andet som svarede til target="_blank" - target hører jo egentligt til i en frameset-opstilling, og bør vel ganske rigtigt slet ikke bruges til andet. Og jeg kunne jo have overset et eller andet i 4.01 som udgjorde det samme som target="_blank"
Idéen bag Strict er jo at få HTML tilbage til dets oprindelige formål, nemlig at definere indhold.. Og dermed er alle tags og attributer, der har med præsentation og funktionalitet at gøre, blevet fjernet til fordel for CSS og JavaScript.. Og eftersom target-attributen betragtes som funktionalitet snarer end indhold, så er det anbefalet at bruge JavaScript istedet..
Den løsning jeg har linket til er en udemærket og nem erstatning for target.. du copy-paster blot JS-koden ind og bruger rel="external" istedet for target="_blank"..
Alternativt kan du jo bare skifte over til Transitional- eller Frameset-doctype..
-- og det er værd at bemærke gåseøjnene omkring Valid på den side karmicmind linker til ...
-- for xhtml (og/eller html-Strict !-) holder op med at være valid, når man indsætter target, selvom w3cs validator ikke opdager det ...
-- hvis browseren var en egentlig x(ht)ml-baseret ting ville den sandsynligvis gå ned med et hult drøn, fordi hele ideen med xhtml ville være kompromiteret !o]
"-- for xhtml (og/eller html-Strict !-) holder op med at være valid, når man indsætter target, selvom w3cs validator ikke opdager det ..."
Præcis, så det ville være bedre med en løsning der baseres på window.open. På samme måde vil det være mest korrekt at få kode valideret seperat hvis det sættes ind vha. ...innerHTML=
bgo >> "få kode valideret seperat hvis det sættes ind vha. ...innerHTML" ... hvordan skulle det mon så kunne lade sig gøre, når 'innerHTML' aldrig har været valid i nogen standard? ;o)
- bevares, JavaScript og DOM-bindinger har ikke noget at sige i W3C's validator (der jo kun validerer markup koden) - men en ægte XHTML-browser vil lægge sig ned øjeblikkeligt, hvis du bruger 'innerHTML' ... og HTML-browsere _burde_ gøre det :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.