IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Lancer un script PHP avant de quitter la page.


Sujet :

JavaScript

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 551
    Points : 264
    Points
    264
    Par défaut Lancer un script PHP avant de quitter la page.
    Salut,

    Il me faut pouvoir lancer un script php avant de quitter la page. Pour ce faire j'utilise window.onbeforeunload/onunload comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    var link_ca = 'http://192.168.0.20:8888/ca.php'
     
    function unload(){ 
      if(onCo==1) {
         image = new Image();
         image.src = link_ca ;
         sleep(2000) ;
      }
    }
     
    if(is_opera) {
      window.onunload=unload(); 
    } else {
      window.onbeforeunload = function (e) {
        var e = e || window.event;
        if(e) {
          if(onCo==1) {
              image = new Image();
              image.src = link_ca ;
              sleep(2000) ;
          }
        } 
      }
    }
    Avec donc une fonction sleep sensée interrompre cette fonction pour laisser le temps à image.src de se charger.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function sleep(milliseconds) {
      var start = new Date().getTime();
      while ((new Date().getTime() - start) < milliseconds) { }
    }
    Mais voilà, des fois ça ne marche pas, surtout si je n'utilise pas la fonction sleep().

    Quelqu'un aurait une idée pour faire en sorte d'être sur que ca.php est bien été exécuté avant de quitter la page ?

    Et aussi, est-ce que le fait de quitter la page peut interrompre l’exécution de ca.php jusqu'au bout ?

    Merci,
    Vincent.

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,

    Je ne comprend pas très bien ton soucis mais je pense qu'au lieu de créer une fonction sleep, ce sera mieux d'utiliser la fonction setTimeout.

    A+.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 551
    Points : 264
    Points
    264
    Par défaut
    Citation Envoyé par andry.aime Voir le message
    Bonjour,

    Je ne comprend pas très bien ton soucis mais je pense qu'au lieu de créer une fonction sleep, ce sera mieux d'utiliser la fonction setTimeout.

    A+.
    Le problème de setTimeout c'est qu'il continue d'exécuter le script, et donc on quitterait directement la page. Cette fonction sleep me permet de bloquer window.onbeforeunload juste après avec charger dans l'image le fichier ca.php que je souhaite exécuter avant de quitter la page.

  4. #4
    Membre expérimenté Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Points : 1 519
    Points
    1 519
    Par défaut
    Plutôt qu'une image, as-tu pensé aux requêtes ajax de type synchrone ?

    edit: ne fonctionnera que si la requête se fait sur le même serveur.

Discussions similaires

  1. Réponses: 15
    Dernier message: 22/12/2006, 15h02
  2. [Ajax] lancer un script php en php (4.x)
    Par zan001 dans le forum Langage
    Réponses: 1
    Dernier message: 08/11/2006, 12h49
  3. [AJAX] Lancer un script PHP au passage de la souris !
    Par DiabolO dans le forum Général JavaScript
    Réponses: 26
    Dernier message: 31/08/2006, 23h44
  4. Réponses: 1
    Dernier message: 01/03/2006, 11h27
  5. Réponses: 4
    Dernier message: 14/12/2005, 12h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo