| <!DOCTYPE html> |
| <html> |
| <head> |
| <script type="text/javascript"> |
| |
| function get_new_tab_on_blur() { |
| return document.getElementById('new_tab_on_blur').innerHTML == "true"; |
| } |
| |
| function set_new_tab_on_blur(value) { |
| return document.getElementById('new_tab_on_blur').innerHTML = value ? "true": "false"; |
| } |
| |
| function printVisibilityState() { |
| console.log(" document.hasFocus() == " + document.hasFocus()); |
| console.log(" document.hidden == " + document.hidden); |
| console.log(" document.visibilityState == " + document.visibilityState); |
| } |
| printVisibilityState(); |
| |
| window.onblur = function() { |
| console.log("window.onblur"); |
| if (get_new_tab_on_blur()) { |
| set_new_tab_on_blur(false); |
| setTimeout(function() { window.open("about:blank", "_blank")}, 2000); |
| } |
| printVisibilityState(); |
| }; |
| |
| window.onfocus = function() { |
| console.log("window.onfocus"); |
| printVisibilityState(); |
| }; |
| |
| window.onload = function() { |
| console.log("window.onload"); |
| printVisibilityState(); |
| }; |
| |
| document.onblur = function() { |
| console.log("document.onblur"); |
| printVisibilityState(); |
| }; |
| |
| document.onfocus = function() { |
| console.log("document.onfocus"); |
| printVisibilityState(); |
| }; |
| |
| document.onvisibilitychange = function() { |
| console.log("document.onvisibilitychange: " + document.visibilityState); |
| printVisibilityState(); |
| }; |
| |
| document.onfreeze = function() { |
| console.log("document.onfreeze") |
| printVisibilityState(); |
| }; |
| |
| document.onresume = function() { |
| console.log("document.onresume") |
| printVisibilityState(); |
| }; |
| document.onkeypress = function(e) { |
| console.log("document.onkeypress: keyCode == " + e.keyCode) |
| if (e.keyCode == 13) { |
| set_new_tab_on_blur(!get_new_tab_on_blur()); |
| } else { |
| printVisibilityState(); |
| } |
| } |
| </script> |
| </head> |
| <body style="background-color:#ccc"> |
| |
| Press Enter to toggle new_tab_on_blur : |
| <span id="new_tab_on_blur">false</span> |
| |
| </body> |
| </html> |