Avatar billede fidusen Nybegynder
09. december 2001 - 02:40 Der 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?

- FiDuSeN -
Avatar billede jakoba Nybegynder
09. december 2001 - 03:07 #1
Target er understøttet for links. i html 4 specs.
kunne det vøære fordi strict ikke vil have du staver <A med stort A

<a href=\"side.html\" target=\"main\">...</a>

mvh JakobA
Avatar billede nute Nybegynder
09. december 2001 - 03:08 #2
du skal sette et base target:

<base href=\"sti til ditt framset\" target=\"main\">

/nute
Avatar billede fidusen Nybegynder
09. december 2001 - 13:48 #3
> lille a
Nej, det var ikke så simpelt, desværre :-(

> target
Target står rigtignok i W3C\'s HTML 4.01 specifikation, og alligevel siger validatoren at den ikke er understøttet.
( http://www.w3.org/TR/html401/ & http://validator.w3.org/ )

> BASE href
Det \"virker\", hvis jeg skriver følgende:
<BASE href=\"file://C:/Temp/index.html\" target=\"main\">

Det er lidt dumt at man er nødt til at skrive den absolute sti i BASE href...
Kan dette undgås?

MEN:
Validatoren siger at target heller ikke er understøttet for <BASE>!

Kan man evt. bruge noget css på linksne?


På W3C\'s CSS1 specifikation ( http://www.w3.org/TR/REC-CSS1 ) står følgende:

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.

- FiDuSeN -
Avatar billede jakoba Nybegynder
09. december 2001 - 14:10 #4
Al det der med frames og framesets er nyt i \'officiel\' html. jeg ville tentativt konkluderer at den har validatoren ikke fået med endnu.

Læs her: http://lists.w3.org/Archives/Public/www-validator/2001JulSep/0282.html

Svareren siger strict slet ikke har frames med.

nyttig adresse forresten: http://lists.w3.org/Archives/Public/www-validator/

mvh JakobA
Avatar billede nute Nybegynder
09. december 2001 - 14:16 #5
hvis man kikker her:

http://www.w3.org/TR/1999/REC-html401-19991224/present/frames.html#adef-target

så ser man iallefall at man kan benytte target på <a>, men det er ogsålitt uklart om man kan benytte den på <base>. Men ifølge denne side:

http://www.w3.org/TR/1999/REC-html401-19991224/struct/links.html#h-12.4

så kan man se at det er en lovlig atributt...

jeg vil nok umiddelbart støtte meg til jakoba\'s konkusjon da denne virker mest logisk i tillegg til at det er en tanke som har streifet mitt hode...

/nute
Avatar billede fidusen Nybegynder
09. december 2001 - 17:58 #6
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
Avatar billede nute Nybegynder
09. december 2001 - 18:00 #7
selvfølgelig har du lov til å benytte javascript...
Avatar billede fidusen Nybegynder
10. december 2001 - 19:30 #8
Nu ved jeg godt der går lige javascript i den, men det bliver jeg vist nødt til...

Dette virker ikke:

<SCRIPT type=\"text/javascript\">
function skiftFrame() {
  self.targetframe.location.href = \'about.html\';
};
</SCRIPT>

<A href=\"java script:void( skiftFrame() );\">klik</A>

Heller ikke med document.target.frame etc.
IE5.5 siger at \'self.targetframe.location\' ikke er et objekt...
Avatar billede fidusen Nybegynder
10. december 2001 - 19:31 #9
Rettelse:
Heller ikke med document.targetframe etc.
altså uden punktum mellem target og frame
Avatar billede nute Nybegynder
10. december 2001 - 19:45 #10
top.targetFrame.location...
Avatar billede fidusen Nybegynder
10. december 2001 - 20:12 #11
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)
Avatar billede nute Nybegynder
10. december 2001 - 20:14 #12
document.targetFrame.location
Avatar billede jakoba Nybegynder
10. december 2001 - 20:14 #13
fra en iframe er det
  parent.location.href

mvh JakobA
Avatar billede jakoba Nybegynder
10. december 2001 - 20:18 #14
eller ligger linket i den side der indeholder din iframe (og det er iframen der skal ændres:
  self.frames[\'targetframe\'].location.href = \'nyurl.html\'
Avatar billede fidusen Nybegynder
10. december 2001 - 20:30 #15
Hvilke af mulighederne skal der .href med?
Avatar billede jakoba Nybegynder
10. december 2001 - 20:43 #16
alle bør have href med ( men ofte virker det også uden :-))
Avatar billede fidusen Nybegynder
10. december 2001 - 22:34 #17
Kanon! Det virker. Undskyld ventetiden.

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?

- FiDuSeN -
Avatar billede jakoba Nybegynder
10. december 2001 - 22:41 #18
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.

mvh JakobA
Avatar billede fidusen Nybegynder
10. december 2001 - 22:45 #19

Tusind tak for hjælpen/snakken!
I må dele de sølle 20 point for jeres gode hjælp!

mvh Johan aka
- FiDuSeN -
Avatar billede nute Nybegynder
10. december 2001 - 22:48 #20
det var så lidt :-)

selv takk....
Avatar billede fidusen Nybegynder
10. december 2001 - 22:48 #21
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 -
Avatar billede nute Nybegynder
10. december 2001 - 22:50 #22
næææ...det er iorden... :) don\'t worry....
Avatar billede fidusen Nybegynder
10. december 2001 - 22:51 #23
Jeg lægger dem i baglommen til dig en anden gang :-)
Avatar billede nute Nybegynder
10. december 2001 - 22:53 #24
fino ;-)
Avatar billede dmcn Praktikant
10. december 2001 - 23:38 #25
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! ;)
Avatar billede fidusen Nybegynder
10. december 2001 - 23:48 #26
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...? :-)
Avatar billede jakoba Nybegynder
11. december 2001 - 00:16 #27
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.

ps tak for points (æv bæv nute...)

mvh JakobA
Avatar billede dmcn Praktikant
11. december 2001 - 00:52 #28
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.
Avatar billede jakoba Nybegynder
11. december 2001 - 01:10 #29
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.
Avatar billede dmcn Praktikant
11. december 2001 - 01:17 #30
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! ;)
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