Avatar billede mat Nybegynder
12. december 2004 - 16:08 Der er 7 kommentarer og
1 løsning

åbne side i anden iframe

Hej

Jeg åbner en side i en iframe ("left"), i denne har jeg et javascript (som sikkert er totalt forkert).

Jeg vil gerne have mit javascript til at åbne to andre sider i to andre iframes ("right" og "top").

Til det har jeg brugt:

<script language="JavaScript">

function spawn_chat(h_id) {

  parent.frames["right"].location.href = "get_online_id_read.php?h_id=" + h_id;
  parent.frames["top"].location.href = "map_build_nester.php?h_id=" + h_id;   

}

</script>

Men det virker ikke i IE, der åbner den bare den sidste i samme vindue?

Hvad skal der stå for at det virker i både IE og Firefox (og også gerne resten af slænget)?

mvh mat
Avatar billede thomas_yde Nybegynder
12. december 2004 - 16:44 #1
prøv lige at smide hele din kode.
men ellers kan du lave en id på dit iframe og set sourcen på den.

så kan du lege lidt med de ideer:


fx:
<script>
function skift(){
    url = prompt("indtast ny url","");
    url2 = prompt("indtast ny url","");
    document.getElementById("frame1").src = url;
    document.getElementById("frame2").src = url2;
}
</script>
<input type="button" onclick="skift();" value="skift link">
<iframe id="frame1" src="http://yogl.dk/" style="width:200px;height:300px;">
<iframe id="frame2" src="http://yogl.dk/" style="width:200px;height:300px;">

</iframe>
Avatar billede mat Nybegynder
12. december 2004 - 17:15 #2
Ovenstående er faktisk hele min kode, den bliver kaldt i body onLoad.

Det jeg ikke lige ved er hvordan jeg "target'er" et dokuments parent, jeg kalder jo scriptet inde fra en iframe og skal så ændre kildefilen i to andre iframes i parent dokumentet.

Dit forslag havde desværre ikke den ønskede effekt.

Det jeg selv har forsøgt med virker både i Firefox og Safari, men IE vil sgu ikke :(

Men tak for hjælpen.
Avatar billede olebole Juniormester
12. december 2004 - 20:00 #3
<ole>

Prøv at lægge et link til siden - så er det betydeligt lettere at hjælpe

/mvh
</bole>
Avatar billede mat Nybegynder
12. december 2004 - 22:18 #4
Oh ak, det kan jeg ikke rigtigt, desværre.

Men jeg vil hjertens gerne prøve at forklare mig tydeligere :)

Vi har en html side (index), den har tre iframes, "top", "left" og "right".

De tre iframes har hver en id attribut (med værdierne "top", "left" og "right"). Det samme gælder navneatributterne (ja de burde nok ikke have enslydende værdier, men det har de).

I "left" er der en login form, når denne submittes (og verificeres) åbner "left" en konto side. Samtidig vil jeg erstatte siderne i "right" og "top" iframes (der er en html side i dem i forvejen).

Eftersom jeg ikke kan tvinge siderne i "right" og "top" frem fra mit serverside script, bliver jeg nødt til at lade et javascript i konto-siden åbne dem.

Derfor har jeg lavet ovenstående funktion, som jeg kalder i body onLoad="spawn_chat(h_id);" (hvor parametren er givet ved php).

Min funktion virker, som sagt, som den skal i Firefox, men i IE åbner den den sidste side i funktionen..

parent.frames["top"].location.href = "map_build_nester.php?h_id=" + h_id;

...i et helt nyt browservindue og ignorerer, den første.

Jeg er ikke ligefrem på hjemmebane i javascript så jeg ved ikke rigtigt hvordan hierakiet hænger sammen eller hvad de forskellige "objekter"/"properties" hedder?

Hvis det stadig er uklart må i lige sige til.

mvh mat
Avatar billede olebole Juniormester
13. december 2004 - 05:17 #5
Prøv at kalde den noget andet ... 'hest', 'ib', 'herberth_maximillian_van_der_schwandvogel' ... bare ikke 'top'.
Det er et reserveret ord i JavaScript, så det er at sætte vand over til røvfuld  :)
Avatar billede mat Nybegynder
13. december 2004 - 13:24 #6
Hej igen, undskyld ventetiden.

Det viste sig at vi blev nødt til at rekonstruere det hele (af flere årsager) så vi ikke behøver poppe siderne fra iframen længere.

Så javascriptet er skrottet, og jeg behøver ikke slås med IE længere (lige nu ihvertfald).

Men hvis i smider nogle svar får i point fordi i gad tage jer tid til at kigge på det :)

mvh mat
Avatar billede thomas_yde Nybegynder
13. december 2004 - 13:30 #7
Bare luk spørgsmålet :)
Det er fint nok for mig du skriver høfligt, og olebole har ikke brug for point :P
Avatar billede mat Nybegynder
13. december 2004 - 20:04 #8
Det gør jeg så, endnu engang tak for opmærksomheden :)
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