<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>Page Visibility API</title>
  <script>
    let state;
    function initiate() {
      window.addEventListener("blur", function() {
        changestate("hidden");
      });
      window.addEventListener("focus", function() {
        changestate("visible");
      });
      document.addEventListener("visibilitychange", function() {
        changestate(document.visibilityState);
      });
    }
    function changestate(newstate) {
      if (state != newstate) {
        state = newstate;
        showstate();
      }
    }
    function showstate() {
      const element = document.getElementById("application");
      element.innerHTML += "<br>" + state;
    }
    window.addEventListener("DOMContentLoaded", initiate);
  </script>
</head>
<body>
  <section id="application">
    <p>Move to another window to change the visibility state</p>
  </section>
</body>
</html>