2015-05-22 9 views
5

stiamo cercando di ottenere alcuni dati completi sull'attività dei nostri utenti, quindi stiamo costruendo noi stessi una libreria, che registra gli utenti che gli utenti passano su una determinata pagina. Stiamo misurando i tempi usando la libreria TimeMe. Stiamo cercando di inviare i measurments al nostro server solo una volta, quando cambiare pagina utente, scheda, chiudere il browser, ecc smettereCome rilevare la chiusura del browser mobile (Android Chrome) con Javascript?

Attualmente stiamo ascoltando due eventi:

  1. pagina: prima di-scarico sul documento (a causa di turbolinks rotaie)
  2. beforeunload sulla finestra (altri casi)

funziona bene su browser desktop. Tuttavia questi ascoltatori non prenderanno alcuni eventi. Ad esempio, se visitiamo il sito sul browser mobile (Android Chrome) e quindi chiudiamo questo browser, questi listener non verranno attivati.

La mia domanda è, come possiamo risolvere questo? Quale evento viene creato dal browser mobile quando vengono chiusi?

Grazie per il vostro consiglio.

+0

Si potrebbe prendere in considerazione il codice lato server che potrebbe essere più complesso ... Non credo ci sia un modo affidabile per rilevare tramite JavaScript. – brso05

+0

Prova ad aggiungere il gestore eventi tramite 'window.addEventListener (" beforeunload ", unloadHandler);' where' unloadHandler' è una funzione che riceve l'oggetto evento come primo argomento. – marekful

+0

@marekful No, non aiuta. – piko

risposta

0

Non è mai possibile rilevare la chiusura del browser da JavaScript, JavaScript è una lingua digitata in modo dinamico e utilizza i motori del browser per l'esecuzione. Ma se stai per chiudere il browser, come può essere in grado di eseguire il codice JavaScript. Quindi, questo non è affatto possibile. ma nei casi di trattare con Google Chrome, dal momento che Android è un sistema operativo e supporta la compilazione javascript, perché V8 è anche il motore di esecuzione per Chrome fornito da Google. Quindi il seguente script potrebbe portare a una traccia giusta.

$ (window) .bind ('beforeunload', function() {
se (iWantTo) {
ritorno "Non lasciarmi!";
}
});

Blockquote 
Problemi correlati