2010-08-31 6 views
2

Je suis absolument terrible à l'enregistrement de mes heures.

Donc mon idée est d'avoir un raccourci de navigateur que j'ouvre quand je commence à travailler.

Puis, quand j'ai fini, fermez-le.

Ce sera alors à une requête ajax à un script PHP qui mettra à jour mes heures pour moi.

Pour ce faire. Je peux faire une requête ajax en $(window).unload()? ou le navigateur va-t-il fermer avant la fin? Et le script php à l'autre extrémité fonctionnera-t-il?

Répondre

3

Vous pouvez exécuter une requête AJAX synchrone (async: false en $.ajax()) dans window.onbeforeunload, mais une asynchrone un (la valeur par défaut) sera probablement annulée avant son achèvement. Notez que ce n'est pas la même chose que l'événement unload, qui est strictement pour le nettoyage variable (bien que beforeunload soit discutablement dans le même but).

J'ai tendance à recommander contre, car cela retarde l'attente de l'utilisateur qui attend votre requête AJAX, quand il veut juste la page suivante.

+0

Mais pour une situation comme je l'ai décrit dans ma question, recommanderiez-vous, ou diriez-vous, de se connecter automatiquement toutes les 10 minutes? – Hailwood

+0

@Hailwood - Je dirais que c'est une bonne alternative, quelle que soit la fidélité dont vous avez besoin avec les minutes fonctionnerait. –

1

Sauf si vous effectuez une requête AJAX synchrone, le navigateur n'attendra pas la fin de la requête avant la fermeture.

Questions connexes