javascripthtmljqueryjquery-eventsgoogle-reader

Event when a web page gets focused


Google Reader has a nice feature that when you switch to the web page from a different web page (giving the page focus) it will show you the updates there were accumulated while the page was unfocused.
Quick question #1: How do they do that?

I figure that they might be binding to the mouse move events + keyboard events since I don't know any out of the box event that gives you that ability.

Googling for that is a nightmare (focus, tab, web page, user).

Quick question #2: Is there some package out there that gives me that ability?

I'm putting the jQuery tag as a beacon for all the web developers ninjas out there, but I don't really care about the framework (as long as its Javascript)


Solution

  • Try using jQuery's focus and blur functions:

    $(window).focus(function() {
       console.log('welcome (back)');
    });
    
    $(window).blur(function() {
       console.log('bye bye');
    });
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    Click in and out of this frame to test the focus and blur functions.