[JS] popup controle

Pagina: 1
Acties:

  • RickyHeijnen
  • Registratie: Maart 2005
  • Laatst online: 30-04-2025
Beste mensen,

Ik ben bezig een web-based applicatie te maken dat op meerdere pc's gedraaid zal gaan worden.

Door op je scherm een item aan te klikken wordt er een popup geopend. Nu wil ik controleren of het popupje nog open staat of al gesloten is. Nu doe ik dit door in het popupje een bericht terug te geven zodra hij gesloten wordt, dit werkt wel maar functioneert niet goed binnen het systeem. Waar ik dus zelf aan zit te denken om een soort listener-observer ontwerp te maken. Het popupje stuurt dan bijv. elke 2 seconden een bericht naar het hoofdvenster die gaat luisteren. Zodra het hoofdscherm niets meer hoort dan moet hij een actie ondernemen.

En een tweede vraag, hoe controleer ik in het hoofdscherm of er nog popupjes open zijn. Zodra er popups open zijn mag het hoofdscherm niet afgesloten worden... Moet ik dan alle open en sluitende popupjes registreren??

Graag jullie hulp, ik kom er niet helemaal uit.

  • user109731
  • Registratie: Maart 2004
  • Niet online
In Gecko en IE werkt window.closed, daarmee kun je opvragen of een popup gesloten of open is. Heb je ook al gekeken naar 'opener' en window.onunload? :) Wat dat listener-observer betreft: kijk eens naar setInterval en opener, daarmee moet dat wel te doen zijn.

Wat je tweede vraag betreft zou ik denk ik alle windows in een array zetten. In IE kun je volgens mij modale vensters maken, maar anders lijkt het me niet mogelijk om te voorkomen dat iemand het venster sluit...

[ Voor 12% gewijzigd door user109731 op 17-10-2006 17:20 ]


  • RickyHeijnen
  • Registratie: Maart 2005
  • Laatst online: 30-04-2025
De applicatie wordt alleen onder IE gerunned, dus dat is geen enkel probleem...

Het feit is zo... Als een medewerker een order aanklikt komt er een popup en de order krijgt dan de status 'bezet'. Dat betekend dat iemand ermee bezig is. Andere medewerkers zien dan aan het icoontje dat veranderd, dat iemand er al mee bezig is. Zodra de medewerker klaar is met de order sluit hij het popupje en krijgt de order weer de status 'open'.

Maar... als een medeewrker hem opent, wordt hij bezet, vervolgens wordt de order op een andere pc óók geopend, deze krijgt dan nog een keer de status bezet. Als die laatste medewerker de popup weer wegklikt, dan gaat de status op 'open'. Maar die eerste medewerker is er dan nog mee bezig.

Misschien dat het zo een beetje duidelijk is waar ik heen wil.

Mijn tweede vraag is al gelukt, ik heb het zoals je me aanraadde met een array gedaan en daar alle popups in gezet.

  • user109731
  • Registratie: Maart 2004
  • Niet online
Als ik het goed begrjip moet je weten of er op een andere pc nog een window openstaat?

Dan zul je die status naar een server moeten overbrengen en daar bijv. in een database opslaan. Dat lijkt mij de mooiste oplossing... Let er dan wel op wat er gebeurt als iemand een window sluit maar zn netwerkverbinding bijvoorbeeld eruit ligt. Dan zul je de tijd er ook bij op moeten slaan. Op de pc's zul je dan elke keer als er een window gesloten word moeten opvragen wat de status is. Dat opvragen kan middels een refresh, ajax of een hidden iframe ofzo. Ik zal nog even nadenken over een betere oplossing.

Of begrijp ik het nu verkeerd ? :)

[ Voor 122% gewijzigd door user109731 op 17-10-2006 22:21 ]


  • RickyHeijnen
  • Registratie: Maart 2005
  • Laatst online: 30-04-2025
Dat heb je helemaal goed begrepen ^^.. Maar wat jij zegt is dus gewoon alle windows die geopend worden in de DB opslaan?? Daar zit ook wel wat in...

  • user109731
  • Registratie: Maart 2004
  • Niet online
zoetericky schreef op woensdag 18 oktober 2006 @ 13:14:
Dat heb je helemaal goed begrepen ^^.. Maar wat jij zegt is dus gewoon alle windows die geopend worden in de DB opslaan?? Daar zit ook wel wat in...
Er zal weinig anders op zitten als je van meerdere pc's wilt bijhouden welke popups er open staan. Die pc's kunnen niet onderling verbinding maken, dus het zal via een server moeten. Als je je orders al in een database hebt staan zou je t daarbij op kunnen slaan...
Pagina: 1