/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
dynamisk åbning af ny side i en iframe
Fra : Anders


Dato : 08-09-06 20:14

Denne kode skal åbne en ny side i en iframe med id="gframe":

document.frames.gframe.location = "http://domainenavn.dk/filnavn.html";
(en linie i en javascript-funktion)

Den virker fint i IE og Opera, men slet ikke i Firefox.

Hvad mon man skal skrive for at det virker i flere browsertyper?

På forhånd tak

Anders

 
 
Jens Gyldenkærne Cla~ (08-09-2006)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 08-09-06 21:55

Anders skrev:

> Denne kode skal åbne en ny side i en iframe med id="gframe":
>
> document.frames.gframe.location =
> "http://domainenavn.dk/filnavn.html"; (en linie i en
> javascript-funktion)

1) I Firefox er der ingen document.frames-samling - men en
window.frames (window.frames virker formentlig også i IE og Opera)

2) Iframes indgår ikke i window.frames    

3) Du kan tilgå iframe-elementet via
document.getElementById("gframe") (virker i alle moderne browsere).

4) For at skifte indholdet i iframen, skal du ændre værdien i src.

Siden det handler om er her:
<http://www.jazz.suite.dk/radiorummet/>

Men hvorfor vil du egentlig benytte javascript til at ændre
indholdet? Det kan gøres langt enklere og mere robust med ganske
almindelige links.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Anders (08-09-2006)
Kommentar
Fra : Anders


Dato : 08-09-06 23:53

Jens Gyldenkærne Clausen wrote:

> Anders skrev:
>
>> Denne kode skal åbne en ny side i en iframe med id="gframe":
>>
>> document.frames.gframe.location =
>> "http://domainenavn.dk/filnavn.html"; (en linie i en
>> javascript-funktion)
>
> 1) I Firefox er der ingen document.frames-samling - men en
> window.frames (window.frames virker formentlig også i IE og Opera)
>
> 2) Iframes indgår ikke i window.frames
>
> 3) Du kan tilgå iframe-elementet via
> document.getElementById("gframe") (virker i alle moderne browsere).
>
> 4) For at skifte indholdet i iframen, skal du ændre værdien i src.
>
> Siden det handler om er her:
> <http://www.jazz.suite.dk/radiorummet/>
>
> Men hvorfor vil du egentlig benytte javascript til at ændre
> indholdet? Det kan gøres langt enklere og mere robust med ganske
> almindelige links.

Bingo!

document.getElementById("gframe").src = "http://...

virker over hele linien!

Det er lidt indviklet at forklare mit behov for denne funktion, men det
hænger sammen med at jeg først vil vise siden når alt er loaded - undtagen
gæstebogen som ligger på en gratis server som tit er ret langsom. Dvs:
først loader det hele undtagen gæstebogen, så synliggør en funktion de
div's der skal være synlige i et hug "onLoad". Og så er det smart hvis
gæstebogen herefter bare står og loader på et usynligt lag, så den er klar
hvis nogen en dag gider klikke på den og skrive i den...

God nat og mange tak for hjælpen, Anders

Anders (09-09-2006)
Kommentar
Fra : Anders


Dato : 09-09-06 17:55

Anders wrote:

> Jens Gyldenkærne Clausen wrote:
>
>> Anders skrev:
>>
>>> Denne kode skal åbne en ny side i en iframe med id="gframe":
>>>
>>> document.frames.gframe.location =
>>> "http://domainenavn.dk/filnavn.html"; (en linie i en
>>> javascript-funktion)
>>
>> 1) I Firefox er der ingen document.frames-samling - men en
>> window.frames (window.frames virker formentlig også i IE og Opera)
>>
>> 2) Iframes indgår ikke i window.frames
>>
>> 3) Du kan tilgå iframe-elementet via
>> document.getElementById("gframe") (virker i alle moderne browsere).
>>
>> 4) For at skifte indholdet i iframen, skal du ændre værdien i src.
>>
>> Siden det handler om er her:
>> <http://www.jazz.suite.dk/radiorummet/>
>>
>> Men hvorfor vil du egentlig benytte javascript til at ændre
>> indholdet? Det kan gøres langt enklere og mere robust med ganske
>> almindelige links.
>
> Bingo!
>
> document.getElementById("gframe").src = "http://www.ao...
>
> virker over hele linien!

Det viser sig at Firefox alligevel har problemer med denne programlinie, når
html filen er uploaded og vises i en "pegeframe" fra GratisDNS. Det virker
ellers både når jeg åbner siden på harddisken, og når siden er på serveren
og selv er top-frame.

Jeg har løst problemet ved at sætte et script ind der bryder ud fra framen,
men jeg er alligevel nysgerrig efter om du også skulle have et forslag til
hvordan man ellers kan løse det?

vh Anders

Jens Gyldenkærne Cla~ (09-09-2006)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 09-09-06 18:27

Anders skrev:

> Det viser sig at Firefox alligevel har problemer med denne
> programlinie, når html filen er uploaded og vises i en
> "pegeframe" fra GratisDNS. Det virker ellers både når jeg
> åbner siden på harddisken, og når siden er på serveren og selv
> er top-frame.

Det lyder umiddelbart som en sikkerhedsblokering der træder i
kraft. Udskiftning af en skjult frame på et andet domæne end
hoveddomænet kan godt blive opfattet som noget snavs (uanset at det
ikke er tilfældet her).
--
Bolig søges. Andel eller leje i Emdrup, Nordvest, Nørrebro, Søborg
eller Brønshøj, max 6000 pr. måned.
Kontakt pr. mail - nospam(at)gyros.dk
Jens Gyldenkærne Clausen

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste