Avatar billede Tony Juniormester
04. august 2002 - 13:22 Der er 31 kommentarer og
3 løsninger

Skift indhold i frame ?

Jeg vil gerne kunne skifte indhold i en frame fra en anden frame:

I topFrame har jeg et tekstlink ’Skift side’. Når bruger klikker på det, så skal ’poster.html’ loades i mainFrame.

Hvordan ser det script ud ?
Avatar billede nak-m Nybegynder
04. august 2002 - 13:24 #1
<a href="poster.html" target="mainFrame">Skift side</a>
Avatar billede nikolajdu Nybegynder
04. august 2002 - 13:24 #2
<a href="#" onclick="parent.mainFrame.location.href='poster.html'">skift side</a>

/Nikolaj
Avatar billede nak-m Nybegynder
04. august 2002 - 13:26 #3
nikolajdu: er det bedre at skrive sådan?
Avatar billede nak-m Nybegynder
04. august 2002 - 13:26 #4
(svar)
Avatar billede nikolajdu Nybegynder
04. august 2002 - 13:28 #5
tja det kommer an på formålet - Umiddelbart virker din også :)
Avatar billede nak-m Nybegynder
04. august 2002 - 13:30 #6
gør din noget anderledes? (den ser go ud!)
Avatar billede mikoalngelo Nybegynder
04. august 2002 - 13:30 #7
Det er mest fordelagtigt at skrive som nak-m, da den også virker for browsere hvor JS er disabled
Avatar billede sn0wflake Nybegynder
04. august 2002 - 13:30 #8
Brug nak-m's eksempel. Der er absolut ingen grund til at bruge JavaScript her.

KISS
Avatar billede nak-m Nybegynder
04. august 2002 - 13:31 #9
(det kører for mig)
Avatar billede nikolajdu Nybegynder
04. august 2002 - 13:32 #10
Hov hov drenge spørgsmålet er oprettet i javascript - Det kunne jo være der var en idé med det :))
Avatar billede mikoalngelo Nybegynder
04. august 2002 - 13:33 #11
Det er også sværere at finde ud af for de source-code-learners, der lærer ved at kigge på sorce-coden at bruge JS end at bruge HTML
Avatar billede mikoalngelo Nybegynder
04. august 2002 - 13:34 #12
nikolajdu >>
Det kan bare være at han ikke vidste at det kunne lade sig gøre uden JS...
Avatar billede pelkjaer Nybegynder
04. august 2002 - 13:36 #13
Jeg vil også være med så :)

<script type="text/javascript">
function singleLoad(URL1) {
  parent.mainFrame.location.href=URL1;
  parent.mainFrame.document.close();
}
</script>

<a href="java script:singleLoad('poster.html')">Skift side</a>

*G*
Avatar billede Tony Juniormester
04. august 2002 - 13:39 #14
nak-m >> Helt i orden, jeg skrev jo ikke, at den kendte jeg godt :)

nikolajdu >> Rigtig, jeg vil gerne have det som JS, men hvad jeg ikke skrev var, at jeg skal bruge den i et eksternt script ...

Jeg har 18 undersider jeg gerne vil styre med det script ... har du et bud på hvordan det kunne se ud som eksternt script ... eller i <head> for den sags skyld ?
Avatar billede sn0wflake Nybegynder
04. august 2002 - 13:39 #15
Der er tre grunde til *ikke* at bruge JavaScript her:

1) Hvis siden ikke når at loade helt færdig, så kan JavaScript finde på at fejle, hvorved brugeren er efterladt med et ubrugeligt link (med den lille klassiske gule trekant *hint hint*).
2) Hvis brugerens browser ikke understøtter JavaScript, hvad så?
3) Det er som at skyde gråspurve med kanonener når der bruges JavaScript i stedet for at bruge simpelt HTML.
Avatar billede sn0wflake Nybegynder
04. august 2002 - 13:40 #16
LOL pelkjaer :)))
Avatar billede Tony Juniormester
04. august 2002 - 13:41 #17
pelkjaer >> Kan dit script flyttes op i abstraktionsniveau, ellers skal jeg lave 18 af dem ;-)
Avatar billede pelkjaer Nybegynder
04. august 2002 - 13:43 #18
tony>>Jeg er ikke helt med hvad på hvad du mener?

Har du flere targets da?
Avatar billede sn0wflake Nybegynder
04. august 2002 - 13:44 #19
Jeg skulle lige til at skrive et svar, men kom i tanke om at jeg *hader* frames. Frames skal dø! Derfor vil jeg ikke kontribuere mere :)
Avatar billede Tony Juniormester
04. august 2002 - 13:44 #20
snOwflake >> OK - så vælger jeg kanonerne ... eller sagt på en anden måde; jeg tror kunden bliver meget glad for at vide, at han kun skal rette ét sted for at skifte 18 undersider ...

Målgruppe: ISDN, IE => 5.0, men det kan du jo ikke vide ...
Avatar billede nikolajdu Nybegynder
04. august 2002 - 13:45 #21
<script>
function skiftDu(hvorhenDu){
parent.mainFrame.location.href=hvorhenDu
}
</script>

<a href="#" onclick="skiftDu('poster.html')">skift side1</a>
<a href="#" onclick="skiftDu('www.nikolajdu.dk')">skift side2</a>
Avatar billede Tony Juniormester
04. august 2002 - 13:45 #22
pelkjaer >> Ja jeg har flere targets og jeg har flere forskellige udgaver af topFrame, men alle med identiske tekst-link
Avatar billede nikolajdu Nybegynder
04. august 2002 - 13:45 #23
er det sådan du mener?
Avatar billede Tony Juniormester
04. august 2002 - 13:46 #24
nikolajdu >> Det ser sådan ud ... tester lige ...
Avatar billede pelkjaer Nybegynder
04. august 2002 - 13:48 #25
Er det sådan her:

<script type="text/javascript">
function singleLoad() {
  parent.mainFrame.location.href='poster.html'
  parent.mainFrame.document.close();
}
</script>

<a href="java script:singleLoad()">Skift side</a>
Avatar billede jakoba Nybegynder
04. august 2002 - 13:48 #26
lav det hellere som:
<a href="#" onclick="skiftDu('poster.html');return false">skift side1</a>
<a href="#" onclick="skiftDu('www.nikolajdu.dk');return false">skift side2</a>

uden 'return false' i onclick bliver linket også udført som link. dvs siden med linket hopper til toppen af siden.
Avatar billede nikolajdu Nybegynder
04. august 2002 - 13:49 #27
<script>
function skiftDu(rammeDu,hvorhenDu){
parent.frames[rammeDu]location.href=hvorhenDu
}
</script>

<a href="#" onclick="skiftDu('mainFrame','poster.html')">skift side1</a>
<a href="#" onclick="skiftDu('andet_Target','www.nikolajdu.dk')">skift side2</a>
Avatar billede nikolajdu Nybegynder
04. august 2002 - 13:49 #28
jakoba - Dårlig vane jeg har der :((
Avatar billede sn0wflake Nybegynder
04. august 2002 - 13:51 #29
Ak, ja. Frames er som skidt i et sår for en programmør. Gør lidt ondt i starten, men ender med en stor gul byld :)
Avatar billede pelkjaer Nybegynder
04. august 2002 - 13:51 #30
Så er dette da smartere:

<script type="text/javascript">
function multiLoad(URL1,URL2) {
  parent.AndenFrame.location.href=URL1;
  parent.AndenFrame.document.close();
  parent.mainFrame.location.href=URL2;
  parent.mainFrame.document.close();
}
</script>

<a href="java script:multiLoad(side1.asp', 'side2.html')">Skift side</a>
Avatar billede pelkjaer Nybegynder
04. august 2002 - 13:52 #31
jakoba>>Hvis man nu bruger java script:; istedet for # - så behøver man da ikke ren return false; - eller hvad?
Avatar billede Tony Juniormester
04. august 2002 - 13:57 #32
Tak for hjælpen gutter.

Jeg snupper nikolajdu's med JakobA's tilføjelse, tænker lidt over pelkjaers og skyder et par af sn0wflake's gråspurve ...

Fortsat god weekend ... :)
Avatar billede jakoba Nybegynder
04. august 2002 - 13:59 #33
det er lidt forskelligt i browserne hvad de gør der (NS7 genererer en uncaught exception fejl, men siden ser OK ud. NS4.7 popper fejl-konsollen op uden melding)
præv at skrive  java script:  i adresselinien og se hvad din browser gør :-))
Avatar billede pelkjaer Nybegynder
04. august 2002 - 14:01 #34
Det er sådan her jeg mener

<a href="java script:;" onclick="Noget();">link</a>
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