Avatar billede smashlotus Nybegynder
11. januar 2007 - 18:24 Der er 5 kommentarer og
1 løsning

Åbne link i nyt vindue med XHTML

Jeg skal lave en eksamensopgave hvor jeg skal oprette et websted med XHTML 1.0 strict og CSS.

Jeg skal have mine sider valideret via WC3 (http://validator.w3.org), men jeg får en fejl fordi jeg har brugt target="_blank" ved et link. Jeg vil gerne have linket til at åbne i et nyt vindue, så man ikke kommer væk fra min side. (Og det virker også, men min side skal kunne valideres og derfor må jeg finde en anden løsning)

Jeg får af vide at "target" ikke kan bruges ved XHTML 1.0 strict.

Hvordan kan jeg få linket til at åbne i et nyt vindue?
Det er ligemeget om jeg skal lave det i selve html dokumentet eller i stylesheetet, det skal bare ikke gælde for alle links, kun nogle enkelte.
Avatar billede karmicmind Nybegynder
11. januar 2007 - 19:18 #1
udskift

target="_blank"

med

onclick="window.open(this.href, '_blank');return false"
Avatar billede smashlotus Nybegynder
11. januar 2007 - 19:42 #2
Det virker, men da jeg gerne skal kunne forklare alt hvad jeg gør i min opgave, ville jeg være meget glad for en forklaring på hele den smøre?
Jeg har læst mig til at det ikke er muligt at få et nyt vindue åbnet uden at bruge java, og det vil jeg helst ikke rode mig ud i i min eksamensopgave.
Avatar billede karmicmind Nybegynder
11. januar 2007 - 19:50 #3
jeg bruger skam heller ikke Java.. den kode jeg nævnte her er JavaScript..

onclick attributen er til at definere en event, der udløses når der klikkes på elementet, i dette tilfælde et a-element(til links)

window.open() er en javascript funktion til at åbne et nyt vindue. læs mere på http://developer.mozilla.org/en/docs/DOM:window.open

return false forhindre linket i at fungere som normalt, altså at åbne linket i samme vindue..
Avatar billede karmicmind Nybegynder
11. januar 2007 - 19:59 #4
this.href er en slags "relativ javascript-sti"(noget objekt-orienteret fikumdik) til det aktuelle elements href-attribut

Det er en del nemmere end at skulle skrive adressen to gange og også smartere, da det gør at klienter uden javascript stadig kan åbne linket(blot i samme vindue istedet for et nyt), hvorimod sådn noget som:

href="java script:window.open('http://google.com', '_blank')"

det ville slet ikke kunne fungere i en non-javascript klient..
Avatar billede karmicmind Nybegynder
11. januar 2007 - 20:02 #5
alternativt kunne man også bare bruge en transitional-doctype og så gøre brug at target-attributten.. det er også helt legalt og validerer..
Avatar billede mclemens Nybegynder
11. januar 2007 - 21:36 #6
Husk at bruge this.getAttribute('href')
istedet for this.href i xhtml ...
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester