9
  • Musimy śledzić czas skuteczne strony naszych użytkowników
  • większości użytkowników, kiedy skończysz, zostaw kartę otwarty i przenieść się do innej karcie
  • czas na miejscu jest bardzo niedokładna

Czy istnieje zdarzenie JavaScript umożliwiające śledzenie "utraty ostrości" bieżącej karty?Czy istnieje sposób śledzenia fokusu na zakładce z Javascriptem?

+0

hmm, myślałem, że zdarzenie blur zostanie uruchomione, gdy użytkownik ustawi ostrość na innej karcie? który oczywiście wystrzeliwuje tylko wtedy, gdy okno ma fizyczny fokus na początek. – scunliffe

+0

Interesujące pytanie. Myślę, że * odpowiedź brzmi "Nie". Możesz dodać handler "mouseout" do '' lub coś podobnego i śledzić kiedy mysz opuści okno (które będzie, gdy mysz zostanie przesunięta, aby wybrać inną kartę), ale tak naprawdę nie wiesz, czy to się dzieje wydarzyć się. – Pointy

+0

@scunliffe Nie widzę żadnych zdarzeń "rozmycia" z '' w przeglądarce Chrome przynajmniej. Widzę "mouseout". – Pointy

Odpowiedz

11

ten powinien działać zarówno na przełączniku zakładki oraz okna przeglądarki utraty ostrości:

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

Dziękujemy! Spróbuję tego jak najszybciej i dam ci znać. –

+0

Jeśli to faktycznie działa, to jest jeden fajny kawałek kodu, lashtal! –

+0

Czy to działa? Sam się nad tym zastanawiałem. Jeśli musiałeś dokonać jakichkolwiek modyfikacji, chciałbym zobaczyć twoje kompletne rozwiązanie. Dzięki! –

1

chciałbym zrobić coś z mousemove i scroll i liczyć gościa jako aktywny tak długo, jak jeden z tych spuście w pewnym przedziale. Obejmuje to także pozostawienie przeglądarki otwartej i pozostawienie komputera.

1

O której zakładce mówisz? Czy to twoja karta Nav/menu lub zakładka przeglądarki. Czuję, masz na myśli kartę przeglądarki! Myślę, że nie jest to możliwe dokładnie. Ale co jeśli śledzisz kilka zdarzeń, takich jak mousemove, fokus itp., A następnie uruchamiasz zdarzenie, to samo niektóre dane (licznik) na serwerze. Kiedy użytkownik znajduje się na twojej stronie, zrobi coś takiego jak ruch myszki, kliknięcie gdzieś itd. Różnica w załadowaniu pierwszej strony i ostatnim zdarzeniu może powiedzieć statystyk użytkowania.

Powiązane problemy