Toon posts:

[javascript] controleren of window bestaat

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik wil voordat ik een window.open uitvoer controleren of het te openen window niet al een keer eerder is geopend.

Als het window dus al bestaat, dan wil ik het niet nog eens openen. Hoe doe ik dat? Ik had al zoiets als:
code:
1
2
3
4
5
6
7
if (zoek_win == null) { 
   zoek_win = window.open ( bla bla ... )
}
else
{
   window bestaat wel ...
}

maar dat werkt niet...

  • Yo-L
  • Registratie: December 2000
  • Niet online
gebeurt dit in eenzelfde window steeds? dat openen van die andere window..

als dat het geval is kun je een variabele meegeven die true wordt als er een window geopend wordt (of in de hoofdbrowser of via onLoad() in de child), en false als die gesloten is of nooit geopend (via onUnload() dus))

Verwijderd

Topicstarter
Het gebeurd inderdaad vauit het zelfde window en als je naar mijn stukje window.open code kijkt, dan zie je dat
zoek_win gevuld wordt met iets als het window wordt geopend. (initieel wordt zoek_win geinitialiseerd op null).

Het probleem is echter dat ik wil controleren of het window nog open staat op een later moment. Het kan namelijk zo zijn dat het hoofdwindow geopend wordt en dat daarna ook meteen bij de onload het zoek_win geopend wordt, maar dat ik dat op een bepaald moment (per ongeluk of express) sluit.

Als ik dan probeer iets met dat window te doen, dan krijg ik dus problemen. Eigenlijk zou ik vanuit het zoek_win iets moeten kunnen doorgeven als het gesloten wordt, zodat ik het vanuit het hoofdwindow eventueel weet opnieuw kan openen, maar de vraag is kan dat en zo ja hoe doe ik dat?

Verwijderd

Zo moet het goed kunnen werken zonder ingewikkelde scripts:

Geef wanneer je het nieuwe venster opent een target mee. Wanneer ie nog nergens is gedefinieerd dan zal ie hem in een nieuw venster openen. Anders wordt ie geopend in dat venster met hetzelfde target.

Onee, foutje, te langzaam gereageerd. |:(

Verwijderd

Topicstarter
Op dinsdag 18 december 2001 13:27 schreef Takar het volgende:
Geef wanneer je het nieuwe venster opent een target mee. Wanneer ie nog nergens is gedefinieerd dan zal ie hem in een nieuw venster openen. Anders wordt ie geopend in dat venster met hetzelfde target.
Dat snap ik, maar is niet het probleem.
Takar schreef het volgende:
Onee, foutje, te langzaam gereageerd. |:(
no problemo :)

  • Yo-L
  • Registratie: December 2000
  • Niet online
Als het niet kan is er natuurlijk nog een alternatieve (en heel foute oplossing): cookies :)

Verwijderd

Topicstarter
Op dinsdag 18 december 2001 13:58 schreef Yo-L het volgende:
Als het niet kan is er natuurlijk nog een alternatieve (en heel foute oplossing): cookies :)
Ik heb liever een andere oplossing. Ik gebrui wel al cookies, maar dat is voor andere zaken...

  • Yo-L
  • Registratie: December 2000
  • Niet online
okay, misschien heb je hier wat aan

http://www.webreference.com/js/tutorial1/exist.html

en dan vooral kijken bij The open "Property"

is dat niet ongeveer wat je nodig hebt? :)

Verwijderd

Topicstarter
mmm..
dat zou em idd eens kunnen zijn. Ik moet dus niet checken of dat ding gelijk is aan null, maar gewoon als boolean behandelen.

zal t eens proberen. Mocht het niet lukken, dan volgt er later meer :)

Verwijderd

Topicstarter
Helaas.... het zelfde probleem.

Als ik het zoekwin open en dan handmatig sluit en dan vanuit de hoofdwindow controleer of het zoekwin bestaat met de onderstaande code, dan geeft ie aan dat het nog bestaat...
code:
1
2
3
4
5
6
    if (zoekwin)  {
        alert ('window bestaat');
    }
    else  {
        alert ('window bestaat niet');
    }

Dus de hierboven genoemde oplossing werkt niet voor mijn probleem. (Of klopt het stukje javascript niet?)

[edit] by the way:
code:
1
2
  if (zoekwin.open)  {
     ...

werkt ook niet. [edit]

Verwijderd

Topicstarter
niemand een ideetje?

Verwijderd

Hoi,

[niet getest...]

Location van het ding opvragen? Afhankelijk van het antwoord weet je of het window er was of niet.

A.

  • r.e.n
  • Registratie: Juni 2001
  • Niet online
eerst:

var theWin = null;

daarna wordt theWin een keer geopend met

theWin = window.open(...)

bestaat/open/dicht status checken met:

if(theWin && theWin.open && !theWin.closed)
{
dan is ie open dus...
}

Voor verdere uitleg: http://www.webreference.com/js/tutorial1/exist.html
daar heb ik het ook vandaan geloof ik.

Edit: Ha, ik zie net dat "Yo-L" die link al gepost had, daar staat dus echt in wat je nodig hebt

Verwijderd

Topicstarter
Ik zal nog es proberen. Hoop dat het werkt.

Verwijderd

Topicstarter
kewl..

het werkt redelijk,. Ik krijg nog wat errors, maar dat komt waarschijnlijk doordat ik de focus op het verkeerde window heb staan...

[me] snapt niet waarom het gisteren niet lukte...
Pagina: 1