Avatar billede komodoen Nybegynder
09. marts 2003 - 00:14 Der er 6 kommentarer og
1 løsning

Problem med opdatering af 2 frames!!!

Håber der er nogen der kan hjælpe!!!

Jeg har lavet en hjemmeside, som er bygget op i 3 frames (top-, venstre- og mainFrame). Meningen er, at når der klikkes på et menupunkt i venstreFrame, så ændres både selvsamme venstreFrame og MainFrame.
Mit problem er at nogle browsere ikke kan opdatere begge frames, men kun den modsatte af hvad der klikkes på (dvs. MainFrame hvis der klikkes på venstreframe og modsat).
Problemet har også vist sig på Internet Explorer 5, så det burde ikke være fordi browseren ikke understøtter frames!

Min kildekode er:

<a href="#" onClick="parent.leftFrame.location.href='http://blablabla.htm';parent.mainFrame.location.href='http://bliblablu.htm';">MENUPUNKT!!!</a>

Kan koden rettes, eller har I andre foreslag?

/Kasper
Avatar billede and_ Nybegynder
09. marts 2003 - 00:17 #1
<a href="java script:skift();">MENUPUNKT!!!</a>

<script language="javascript">
function skift()
{
parent.leftFrame.location = "http://blablabla.htm";
parent.mainFrame.location = "http://bliblablu.htm";
}
</script>


dette virker for mig ;)
Avatar billede and_ Nybegynder
09. marts 2003 - 00:17 #2
<script language="javascript">
function skift()
{
window.parent.leftFrame.location = "http://blablabla.htm";
window.parent.mainFrame.location = "http://bliblablu.htm";
}
</script>
Avatar billede komodoen Nybegynder
09. marts 2003 - 00:32 #3
Tak, prøver.

Problemet er lidt at min egen version virker for mig, men åbenbart ikke for alle.
Skal blive spændende i morgen og se om dit script virker på håbløse computere, så som dem på mit arbejde :)
Avatar billede and_ Nybegynder
09. marts 2003 - 00:41 #4
det skulle ihvertfald virke. Jeg har haft prøvet den samme metod med netscape 4.7, explorer 4.0, mosaic (kan ikke huske version) og der har ihvertfald ikke været nogle problemer.....
Avatar billede komodoen Nybegynder
09. marts 2003 - 00:53 #5
Det virker, men hvordan bruger jeg det ved flere menupunkter. For jeg er vel nød til at ændre i scriptet ved menupunkt 2, ellers peger de vel samme sted!
Skal det så hedde "function skift2()"?
Avatar billede and_ Nybegynder
09. marts 2003 - 01:06 #6
hvis du henter det fra en database kan du fx. skrive:

<a href="java script:skift(<%=rs("url")%>);">MENUPUNKT!!!</a>

<script language="javascript">
function skift(adresse)
{
window.parent.leftFrame.location = "http://" + adresse;
window.parent.mainFrame.location = "http://" + adresse;
}
</script>

Hvis det bare er "normal" hardcoding kan du skrive:

<a href="java script:skift('hej.htm');">MENUPUNKT!!!</a>

<script language="javascript">
function skift(adresse)
{
window.parent.leftFrame.location = "http://" + adresse;
window.parent.mainFrame.location = "http://" + adresse;
}
</script>

Hvis du skal have det til at fungere ved 2 eller frames så skal du gøre sådan her:

<a href="java script:skift('hej1.htm','hej2.htm');">MENUPUNKT!!!</a>

<script language="javascript">
function skift(adresseleft,adressemain)
{
window.parent.leftFrame.location = "http://" + adresseleft;
window.parent.mainFrame.location = "http://" + adressemain;
}
</script>


Du skal bare huske at pinge '' og kommaseparere i funktionskaldet...... Du skal også huske at tage alle variablerne med ind i javascript-scopet.

function skift(var,var2,var3)

Placeringen i javascript-scopet svarer til den placering som du kalder funktionen med:

skift('plads1','plads2','plads3','plads4',);

er:

function skift(erplads1,erplads2,erplads3,erplads4,)
Avatar billede komodoen Nybegynder
09. marts 2003 - 01:23 #7
Overvældende, tak.
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
Kurser inden for grundlæggende programmering

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