[JS?] Waarschuwing bij sluiten window?

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Goedemorgen,

Wat ik wil is normaal gesproken moreel gezien niet ok. :) Ik wil dat ik een melding krijg zodra ik op het X-je druk van mijn webbroswer. Normaal gesproken gebeurd dit natuurlijk alleen met die smerige pop-ups, maar wij hebben een online uren-registratiesysteem waar mensen soms vergeten zich weer af te melden. Dat kan dus minder makkelijk als ze een kleine melding krijgen of ze het wel zeker weten.

Nu heb ik even zitten googlen enzo, maar ik kom alleen scripts tegen die een melding geven als je een bepaalde pagina verlaat, niet bij het sluiten van de browser.

Bestaat het eigenlijk wel? Of hebben jullie een veel slimmer en creatiever idee?

Acties:
  • 0 Henk 'm!

  • RaZ
  • Registratie: November 2000
  • Niet online

RaZ

Funky Cold Medina

En nu tabs in browsers gemeengoed aan het worden is, zou je dat ook moeten afvangen denk ik (of je moet natuurlijk nog IE6 gebruiken voor je Intranet).

Het enige wat ik even snel kon vinden was de "body onUnload", maar ik denk dat je die zelf ook wel had gevonden. Misschien zou je het moeten zoeken in de website ansich. Als ik kijk naar een site als werk.nl, die gebruikt geen cookies, of althans, die gaan weer exit op het moment dat je de browser sluit. Misschien is het eenvoudiger om het serverside te zoeken, ipv JS te pushen naar de clients.

Ey!! Macarena \o/


Acties:
  • 0 Henk 'm!

  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

De clientside oplossing:
Als je vanuit een website een popup opent op je eigen domein, dan kun je hier gewoon scripting aan hangen.

JavaScript:
1
2
var popupWin = window.open('url', 'windowName');
while(!popupWin.closed) {}


Vanuit de popup kun je de parent bereiken via de window.opener property (wat een referentie is naar het document object van de parent).

Of je opener ook kunt gebruik in de unload weet ik niet.


De serverside oplossing:
De meeste serverside oplossingen hebben de mogelijkheid een handler te hangen aan het session ended/expired event. Aan dit event zou je ookde uitlog functionaliteit kunnen koppelen.

Beter is eigenlijk nog als je de oplossing zowel client- als serversided oppakt.

If it isn't broken, fix it until it is..


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 21:18

crisp

Devver

Pixelated

onbeforeunload
geen idee overigens of opera daar ook al support voor heeft...
Niemand_Anders schreef op donderdag 28 mei 2009 @ 09:50:
[...]
JavaScript:
1
while(!popupWin.closed) {}
right, in een single-threaded implementatie is dat vragen om problemen natuurlijk :X

wel eens met de opmerking dat je ook moet zorgen voor serverside afhandeling van sessie-expiration

[ Voor 11% gewijzigd door crisp op 28-05-2009 10:00 ]

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 21:13

TheDane

1.618

Ik zie op sommige websites wel eens van die "wilt u meedoen aan enquete" vragen. Als je daaraan mee wil doen, wordt er een popup geopend waarin je eerst wat startvragen beantwoord. Zodra je daarmee klaar bent, wordt de popup minimized, waardoor je op de feitelijke website verder kunt browsen. Als je dat venster sluit, of de browser afsluit, blijft die popup dus gewoon staan, en word je nog eens herinnerd dat je meedoet, en kun je de vragenlijst afmaken.

Nauwelijks foolproof , magoed ...

Dan optie 2: Zet een iframe in je website die ieder kwartier ofzo een page refresh uitvoert. Als die pagina ververst wordt, wordt de sessie bijgewerkt, en weet je dus dat de gebruiker 'er nog is'. Sluit ie het venster, dan is na maximaal een kwartier geen sessie update meer, en weet je systeem dus in welke periode de gebruiker weggegaan is (browser afgesloten / computer uitgezet)

Dat interval kun je verkorten of verlengen afhankelijk van hoe accuraat het moet zijn en hoeveel gebruikers er zijn.

Acties:
  • 0 Henk 'm!

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

crisp schreef op donderdag 28 mei 2009 @ 09:59:
onbeforeunload
geen idee overigens of opera daar ook al support voor heeft...
[...]
Ik heb op dit moment geen Opera hier, maar Gmail gebruikt dat event als je uit een composing email springt (is dus heel snel te testen :P)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Superbedankt, ik ga er gelijk mee aan de slag allemaal!
Pagina: 1