9
  • Wir müssen vor Ort von unseren Benutzern
  • Die meisten Benutzer die effektive Zeit verfolgen, wenn sie fertig sind, lassen Sie die Registerkarte öffnen und zu einem anderen Tab
  • Zeit vor Ort bewegen, es ist äußerst ungenau

Gibt es ein Javascript-Ereignis, um den "Fokusverlust" der aktuellen Registerkarte zu verfolgen?Gibt es eine Möglichkeit, den Fokus auf Tab mit Javascript zu verfolgen?

+0

hmm, ich dachte, das Blur-Ereignis würde ausgelöst werden, wenn der Benutzer den Fokus auf einen anderen Tab legt? was natürlich nur ausgelöst wird, wenn das Fenster den physischen Fokus hatte. – scunliffe

+0

Interessante Frage. Ich * denke * die Antwort ist jedoch "Nein". Sie können einen "mouseout" -Handler zum '' oder etwas hinzufügen und verfolgen, wenn die Maus das Fenster verlässt (was passiert, wenn die Maus bewegt wird, um einen anderen Tab auszuwählen), aber Sie wissen nicht wirklich, ob das geht passieren. – Pointy

+0

@scunliffe Ich sehe keine "Unschärfe" -Ereignisse von '' in Chrome mindestens. Ich sehe "mouseout". – Pointy

Antwort

11

Fokus sowohl auf der Registerkarte Schalter und auf Browser-Fenster zu verlieren arbeiten Dies sollte: in einem Intervall einen Besucher als aktiv, solange eine der beiden Trigger

function onBlur() { 
    document.body.className = 'blurred'; 
}; 
function onFocus(){ 
    document.body.className = 'focused'; 
}; 

if (/*@[email protected]*/false) { // check for Internet Explorer 
    document.onfocusin = onFocus; 
    document.onfocusout = onBlur; 
} else { 
    window.onfocus = onFocus; 
    window.onblur = onBlur; 
} 
+0

Danke! Ich werde es so schnell wie möglich versuchen und dich wissen lassen. –

+0

Wenn das tatsächlich funktioniert, ist das ein cooles Stück Code, Lashtal! –

+0

Hat es funktioniert? Ich habe mich selbst darüber gewundert. Wenn Sie Änderungen vornehmen müssen, würde ich gerne Ihre komplette Lösung sehen. Vielen Dank! –

1

ich tun würde, etwas mit mousemove und scroll und zählen. Das schließt auch ein, dass sie den Browser geöffnet lassen und den Computer verlassen.

1

Welcher Registerkarte sprechen Sie? Ist es Ihre Nav/Menü-Registerkarte oder Browser-Registerkarte? Ich fühle, du meinst Browser Tab! Ich denke, es ist nicht genau möglich. Aber was passiert, wenn Sie nur wenige Ereignisse wie Mauszeiger, Fokus usw. verfolgen und dann ein Ereignis auslösen, das dieselben Daten (Zähler) auf dem Server enthält. Wenn der Benutzer sich auf Ihrer Seite befindet, wird er etwas tun, wie Maus bewegen, irgendwo klicken usw. So kann der Unterschied zwischen dem Laden der ersten Seite und dem letzten Ereignis den Nutzungsstatus angeben.

Verwandte Themen