Javascript: Wachten totdat pagina is geladen

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Adze
  • Registratie: Juli 2001
  • Laatst online: 07:18
Beste gotters,


Ik zit met een probleempje, waar een javascript guru vast zijn hand niet voor omdraait. Het volgende zou ik graag willen bereiken.

Wanneer een gebruiker uitlogd, zal er een logout.cgi script worden gestart. Dit script controleert het een en ander (hier heb ik geen invloed op). Nadat dit is gebeurt wil ik dat het browser window sluit. Dit heb ik nu zo opgelost:
<html>
<head>
<script language="javascript" type="text/javascript">
<!--
window.location="http://www.url.nl/logout.cgi";
window.close();
// -->
</script>
</head>
<body>
</body>
</html>
Echter ben ik op zoek naar een manier om ervoor te zorgen dat logout.cgi eerst volledig laadt en dan pas de browser afsluit. Het gaat nu zo snel dat het cgi script niet compleet wordt doorlopen. Wie kan me helpen?

Ik ben zelf een html/javascript leek...

Alvast bedankt!

Acties:
  • 0 Henk 'm!

  • The_Ghost16
  • Registratie: Januari 2004
  • Laatst online: 19-05 10:05
Een timeout zetten op je window.close().

Verder weet ik niet of je cgi bestand een waarde kan returnen want ik heb daar nog nooit mee gewerkt.

Acties:
  • 0 Henk 'm!

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Je snapt dat als je van location wisselt dat je eigenlijk niet meer kan wachten totdat het script klaar is he :)

Is er een mogelijkheid om wellicht een AJAX techniek te gebruiken, waarbij je wacht op response en daarna pas je window.closed?

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!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Met BtM909, ik neem aan dat het script gewoon uiteindelijk gewoon geladen is (http, 200 OK) en dan kun je dat met een XHR-call opvangen. Het enige probleem wat je denk ik hebt is dat iemand vroegtijdig z'n scherm kan sluiten of maakt dat niet uit?

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 12:54

Bosmonster

*zucht*

Je kunt de logout.cgi in een iframe laden en met een onload op het iframe het venster sluiten?

(als makkelijker alternatief voor de XHR-oplossingen)

[ Voor 25% gewijzigd door Bosmonster op 05-11-2009 16:26 ]


Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 10:22

MueR

Admin Tweakers Discord

is niet lief

Hou overigens wel in de gaten dat window.close gewoon bot geweigerd kan worden door de browser.

Anyone who gets in between me and my morning coffee should be insecure.


Acties:
  • 0 Henk 'm!

  • jbdeiman
  • Registratie: September 2008
  • Laatst online: 07:08
MueR schreef op donderdag 05 november 2009 @ 16:07:
Hou overigens wel in de gaten dat window.close gewoon bot geweigerd kan worden door de browser.
Bij mij accepteerd de browser het sluiten van een scherm alleen als die ook door een script is geopend. Hij sluit niet de browser, maar alleen de pop-up of het betreffende browserscherm.

Acties:
  • 0 Henk 'm!

  • SvMp
  • Registratie: September 2000
  • Niet online
Logout.cgi heeft als resultaat ook een pagina. Ook al is deze wellicht leeg, of bevat deze een melding dat je uitgelogd bent. Als je invloed hebt op de html die logout.cgi creëert, dan kun je daar een script in stoppen die de browser sluit. Heb je die invloed niet, dan is de suggestie van BtM909 het beste. Zoek een Ajax tutorial. Met Ajax kun je wachten totdat een bestand (in dit geval de output van logout.cgi) volledig binnen is om daarna een script uit te voeren.

Acties:
  • 0 Henk 'm!

  • Adze
  • Registratie: Juli 2001
  • Laatst online: 07:18
SvMp schreef op donderdag 05 november 2009 @ 16:15:
Logout.cgi heeft als resultaat ook een pagina. Ook al is deze wellicht leeg, of bevat deze een melding dat je uitgelogd bent. Als je invloed hebt op de html die logout.cgi creëert, dan kun je daar een script in stoppen die de browser sluit. Heb je die invloed niet, dan is de suggestie van BtM909 het beste. Zoek een Ajax tutorial. Met Ajax kun je wachten totdat een bestand (in dit geval de output van logout.cgi) volledig binnen is om daarna een script uit te voeren.
Bedankt voor al jullie snelle reacties. Ik kan de output van logout.cgi niet aanpassen, aangezien deze van een security appliance komt. Ik zal me eens gaan verdiepen in de oplossing van BtM909... Misschien dat iemand me alvast in de goede richting kan wijzen?
MueR schreef op donderdag 05 november 2009 @ 16:07:
Hou overigens wel in de gaten dat window.close gewoon bot geweigerd kan worden door de browser.
Op de test machine werkt deze oplossing goed. Mocht het zo zijn dat het bij sommige gebruikers niet werkt, dan houden ze een leeg scherm over...

[ Voor 20% gewijzigd door Adze op 05-11-2009 16:38 ]


Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Adze15021979 schreef op donderdag 05 november 2009 @ 16:35:
[...]


Bedankt voor al jullie snelle reacties. Ik kan de output van logout.cgi niet aanpassen, aangezien deze van een security appliance komt. Ik zal me eens gaan verdiepen in de oplossing van BtM909... Misschien dat iemand me alvast in de goede richting kan wijzen?
Die heb je nu toch :?

Acties:
  • 0 Henk 'm!

  • Adze
  • Registratie: Juli 2001
  • Laatst online: 07:18
Ja klopt, maar misschien had iemand een link naar een goede tutorial. Ik zal, als ik een goed werkende oplossing heb, deze hier nog even posten...

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 12:54

Bosmonster

*zucht*

Die makkelijkere oplossing met het iframe al geprobeerd? Die postte ik speciaal voor het geval XHR nieuw voor je was.
Pagina: 1