09. december 2001 - 02:40Der er
28 kommentarer og 2 løsninger
Frame target i HTML 4.01 Strict
Validatoren på W3C.org for HTML 4.01 Strict brokker sig over følgende: <A href=\"side.html\" target=\"main\"> Den siger at \"target\" ikke er understøttet. Nå... Hvad bruger man så, når man vil åbne en side i en speciel frame?
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
2.1 Anchor pseudo-classes \"All \'A\' elements with an \'HREF\' attribute will be put into one and only one of these groups (i.e. target anchors are not affected). \"
Hvad mener de med det? At man ikke kan bruge CSS på a\'er med target? Det har ikke været noget problem for mig i ie5.5 på win98se.
Jeg kunne ikke finde noget i CSS2 specifikationen.
Hmm... Jeg tror jeg vil prøve at lave linksne vha. et javascript, hvor jeg deri skriver target. Det er godt nok ikke helt \'lovligt\' i forhold til den stikse specifikation, men jeg bliver vel nødt til det, når den ikke godtager mit target... Vi snakkes på mandag/tirsdag, når jeg har noget fri tid igen... Johan
Det virker med top.targetframe.location.href = \'side.html\'; i et normalt frameset. Men ikke i en IFRAME. Hvad kan man gøre her? (Normal target=\"\" virker)
eller ligger linket i den side der indeholder din iframe (og det er iframen der skal ændres: self.frames[\'targetframe\'].location.href = \'nyurl.html\'
Nu har jeg endelig fået ordentlig styr på det der med sider og javascript med self/parent/top etc.
Opsumering (for andre læsere :-)
Skifte side i en FRAME vha. java script: <A href=\"java script:void( top.targetframe.location.href = \'pagea.html\' );\">vha top</A> eller <A href=\"java script:void( parent.targetframe.location.href = \'pagea.html\' );\">vha parent</A> (Kommer an på sidernes framelag el.lign.)
Skifte side i en IFRAME fra frameholderen: <A href=\"java script:void( self.targetiframe.location.href = \'pagea.html\' );\">vha self</A>
Skifte side i en IFRAME fra sig selv: <A href=\"java script:void( parent.targetiframe.location.href = \'pagea.html\' );\">vha parent</A> eller bare <A href=\"java script:void( self.location.href = \'pagea.html\' );\">self</A>
PS: Er der nogen fordel ved at bruge self.frames[\'targetframe\'].location.href frem for self.targetframe.location.href ? Noget med reserverede ord måske?
Der er en mulig fordel. Brovserne tillader at du bruger samme navn til fx en vaiabel og en iframe. for at indgå forveksling af navnene kan du så skrive frames[\'iframenavn\'] og være sikker på at det er rammen du får fat i, og ikke variablen.
Hey... fuck. Nu kom jeg til at skrive 20 til hver... og så fik JakobA dem kun... og Nutes svar blev accepteret til nul point... Stenet?!? Hvis du vil, Nute, kan jeg godt lave et nyt spm med 20 point til dig også? - FiDuSeN -
Det er korrekt at Strict ikke giver mulighed for target på links. Til det skal du vælge Transitional.
Framesets osv. er faktisk ikke understøttet i HTML 4.01 og XHTML 1.0. Om det er fordi muligheden for serverside include o.l. skyder meget frem for tiden, så frameset-funktionalitet kan opnåes ved jeg faktisk ikke, men jeg har selv bøvlet med dette problem på mit nyeste site. Jeg har taget konsekvensen og laver sitet uden frames - det er en sjov udfordring! ;)
Jeg kender kun en form for server side including nemlig vha. ASP... Det kræver jo at ASP skal være tilgængeligt på webhotellet. Derfor synes jeg det er et lige lovligt stort skridt de tager ved at \'satse\' på server side includes... Er der nogen, der kender en lettere/mere tilgængelig måde til server side includes end vha ASP?
> n0rmality Hvis man har ASP til rådighed er det ikke så svært at lave en side uden frames, men hvis man ikke har er det et alt for stort besvær efter min mening...? :-)
du kan lave SSI på langt flere servere end den der undestøtter asp.
<!--#include virtual=\'filnavn.txt\' --> vil inkludere den fil mange steder blot du ændrer side-filens efternavn til .shtml prøv om det dur hos din host.
Som jakoba siger, så er der også andre løsninger - alternativt kan du jo inkludere med JS, hvis det skulle komme så vidt.
Enig, det er et stort skridt, men det var nu også bare gisning fra min side - ved overhovedet ikke om det passer, men jeg kan da godt forestille mig, at det er målet.
n0rmality >> jeg tror det faktisk ikke. Tror snarere at det går trægt med at få frames accepteret i w3.org Og en del af det kan nok skyldes at frame er en ulogisk, ustruktureret og \'uvidenskablig\' løsning der bryder mange af de regler der ellers er i html. fx: hvor skal man sætte margins på en frame? pt kan man sætte modstridendene margins i <frameset, <frame og <body og den slags ulogik får videnskabligt orienterede personer som dem i w3.org til at græde.
jakoba : Enig, frames er underlige. Også derfor de har lavet en hel valideringsproces, alene til framesets. Jeg har også hørt rygter om at det er fordi target-tags tager kontrollen fra brugeren. Han/hun skal selv kunne bestemme hvor siden skal åbnes. Derudover, så er formålet med hele XHTML-processen jo at lave det så standardiseret at samme kodestump kan bruges både i IE, NS og på en WAP-telefon. Jeg har lidt svært ved at forestille mig en WAP-telefon håndtere flere vinduer, men hell, jeg havde heller ikke forestillet mig et tohjulet gangstativ med batterimotor, og det findes jo allerede! ;)
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.