Avatar billede loopstudio Nybegynder
26. januar 2003 - 16:59 Der er 5 kommentarer

Kan man styre indholdet i eet vindue fra et andet?

Hejsa..

Jeg har 2 vinduer.
Det første vindue A åbner vindue B, som har en function på eventet onBeforeUnload.
Fra vindue A vil jeg så efterfølgende gerne ændre hvad der sker i eventet onBeforeUnload i vindue B.
PS: jeg kender navnet på vindue B, da jeg åbner det som et navngivet vindue fra vindue A.

Kan dette lade sig gøre? Og hvordan?

På forhånd tak.
Avatar billede olebole Juniormester
26. januar 2003 - 17:09 #1
<ole>

onbeforunload="opener.FUNKTION();"

Så kalder du funktionen FUNKTION() i vindue A - forudsat, du ikke har skiftet side i A

/mvh
</bole>
Avatar billede olebole Juniormester
26. januar 2003 - 17:10 #2
ups ... det var ikke, hvad du spurgte om  :)

Må jeg koden til A
Avatar billede olebole Juniormester
26. januar 2003 - 17:11 #3
Må jeg se koden til A  ;o)
Meget gerne en URL
Avatar billede loopstudio Nybegynder
26. januar 2003 - 17:34 #4
Hej igen..

Her kan du se koden for de 2 vinduer:

--------------
Vindue A:
--------------

<A HREF="#" onClick="WinB = window.open('mitprogram.asp','WinB','width=739,height=565,resizable=yes,status=no,toolbar=no,menubar=no,location=no')">Åben vindue B</A>

<A HREF="#" onClick="WinB.onbeforeunload = 'closeIt()'">Sæt funktion på onBeforeUnload eventet i vindue B</A> 

<A HREF="#" onClick="WinB.onbeforeunload = null">Fjern onBeforeUnload eventet i vindue B</A>

--------------
Vindue B:
--------------

<HEAD>
    <SCRIPT language='JavaScript'>
        function closeIt() {
            event.returnValue = 'Er du sikker på at du vil lukke vinduet?'
        }
    </SCRIPT>
</HEAD>
<BODY onBeforeUnload='closeIt()'>
...
--------------
Det jeg gerne vil have det er, at hvis brugeren forsøger at lukke vindue B, så skal den komme med en advarsel, men hvis det er vinue A, som oprindeligt åbnede vindue B, som nu åbner en ny side i vindue B, så skal den først slå onBeforeUnload fra i vindue B, således at den ikke kommer med advarselen til brugeren i dette tilfælde.

Problem:
Hvis jeg afprøver min kode og i vindue A klikker på linket der sætter onBeforeUnload= null og derefter lukker vindue B, så kommer advarselen alligevel, hvilket jeg helst skulle få den til at lade være med.

Martin
Avatar billede olebole Juniormester
26. januar 2003 - 18:24 #5
Så skal du gøre winB global ved at definere den udenfor funktioner:

var winB;
function myOpen( url ) {
  WinB = window.open(url,'WinB','width=739,height=565,resizable=yes,status=no,toolbar=no,menubar=no,location=no');
}

<a href="#" onclick="myOpen('mitprogram.asp');return false;">Åben</a>

... så kan du referere til winB

<A HREF="#" onClick="WinB.onbeforeunload = 'closeIt()'">Sæt funktion på onBeforeUnload eventet i vindue B</A>

/mvh
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

Seneste spørgsmål Seneste aktivitet
I går 21:00 Libre Office Impress Af Frank i Andre styresystemer
I går 11:47 VB script Af Jenshentze i Word
I går 11:21 Popup ved opstart Af mort1 i Windows
04/0918:50 Slet lokal konto Af ErikHg i Windows
04/0916:05 Ændre tal i en celle Af xvid i Excel