[JS] Popup sluiten, vanuit gewijzigde parent window

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb een popup geopend vanuit een parent window (duh!) middels:

JavaScript:
1
2
winprops = 'height=400,width=250,status=no,scrollbars=auto,resizable=yes';
win = window.open('http://www.example.com/popup.htm', 'historie', winprops);


Deze zou ik netjes kunnen sluiten middels:

JavaScript:
1
2
if ((window.win) && (!win.closed))
    win.close();


Nu wil ik in de parent window gewoon nog ff rond kunnen browsen. Zodra de parent window op een bepaalde pagina aankomt, wil ik dat de popup zich sluit. Hoe kan ik dit voor elkaar krijgen?

Ik krijg het niet voor elkaar om vanaf de parent window een rechtstreekse fix te krijgen op de popup. Op zich logisch, want de parent window is niet meer de werkelijke parent, toch? Als alternatief; zou het wellicht mogelijk zijn een event listener op de popup te plaatsen die de url.location van de parent window in de gaten houdt?

Acties:
  • 0 Henk 'm!

  • R4gnax
  • Registratie: Maart 2009
  • Laatst online: 06-09 17:51
Modbreak:Ik heb er ook een voor je: Het algemeen beleid #verbodenanders

[ Voor 89% gewijzigd door MueR op 14-01-2010 15:49 ]


Acties:
  • 0 Henk 'm!

  • R4gnax
  • Registratie: Maart 2009
  • Laatst online: 06-09 17:51
offtopic:
De toon van mijn vorige respons was wat ruw gezet, dus deze keer op een vriendelijker toon...


TheProspector, kijk eens naar https://developer.mozilla.org/En/DOM/Window.open#Description.
Window.open() kun je aanroepen met een lege url string en de eerder gedefinieerde naam waarmee je het window aangemaakt hebt. Daarmee kun je een referentie naar dat window terug opvragen, mits de aanroep binnen hetzelfde domein blijft. IE overschrijft weliswaar het open venster, maar aangezien je toch niets anders doet dan het open venster sluiten, moet dat niets uit maken.

Als je even volledige documentatie over de window.open() method erbij had gepakt voordat je deze method was begonnen te gebruiken, was je deze informatie betreffende genaamde windows opvragen naar alle waarschijnlijkheid al vanzelf tegen gekomen. Dus: nooit klakkeloos zomaar code overnemen en als je het dan toch doet, raadpleeg dan altijd eerst de relevante API manual(s) als je iets niet snapt, want de kans is groot dat je gewoon niet goed begrepen hebt hoe de gebruikte API werkt.

offtopic:
RTFM, zegt men dan wel eens wanneer men in een slechte bui is. ;)