Bonjour,
J'ai un gros problème avec mon code car il est censé vérifier la présence de l'utilisateur sur une page et par la même occasion d'envoyé à une page PHP une donnée pour que PHP l'inscrive dans la base de données. Donc si l'utilisateur consulte la page l'API Page Visibility envoie un signal qui déclenche l'envoi d'une information ici 1 via AJAX vers la page PHP et idem quand l'utilisateur ne consulte pas la page sauf qu'au lieu d'envoyé 1 ont envoi 0. Mais dans mon cas cela ne fonctionne pas avec AJAX car sans AJAX je faisais une redirection en js vers ma page PHP qui redirigeait vers la page précédente de l'utilisateur sauf qu'en redirigent l'API pensait que l'utilisateur consultait la page ce qui n'était donc pas fiable donc en ajax j'essai de faire le même boulot sans redirection. Car mon site affiche que l'utilisateur est connecté si 1 est dans la BDD et si 0 est dans la BDD alors il affiche qu'il est déconnecté.
Le code :
Merci d'avance pour votre aide
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 <script> (function() { 'use strict'; // Set the name of the "hidden" property and the change event for visibility var hidden, visibilityChange; if (typeof document.hidden !== "undefined") { hidden = "hidden"; visibilityChange = "visibilitychange"; } else if (typeof document.mozHidden !== "undefined") { // Firefox up to v17 hidden = "mozHidden"; visibilityChange = "mozvisibilitychange"; } else if (typeof document.webkitHidden !== "undefined") { // Chrome up to v32, Android up to v4.4, Blackberry up to v10 hidden = "webkitHidden"; visibilityChange = "webkitvisibilitychange"; } // If the page is hidden, ; // if the page is shown, function handleVisibilityChange() { if (document[hidden]) { var state0 = 0; var state1 = 1; $.ajax({ // A PARTIR DE LA CA BUG! url : 'user_connect.php', // La ressource ciblée type : 'GET', // Le type de la requête HTTP. data : 'state=' + state0; }); } else { $.ajax({ url : 'user_connect.php', // La ressource ciblée type : 'GET', // Le type de la requête HTTP. data : 'state=' + state1; }); } } // Warn if the browser doesn't support addEventListener or the Page Visibility API if (typeof document.addEventListener === "undefined" || typeof document[hidden] === "undefined") { alert("This website requires a modern browser that supports the Page Visibility API."); } else { // Handle page visibility change document.addEventListener(visibilityChange, handleVisibilityChange, false); } })();</script>
Partager