Browse Source

init: first mind to code

Hugh Harlequin 2 years ago
commit
a95ce49c97
4 changed files with 27 additions and 0 deletions
  1. 2 0
      .gitignore
  2. 8 0
      demo.html
  3. 11 0
      idle-title-by-blur-&-focus.js
  4. 6 0
      idle-title-by-visibilitychange.js

+ 2 - 0
.gitignore

@@ -0,0 +1,2 @@
+.idea
+.vscode

+ 8 - 0
demo.html

@@ -0,0 +1,8 @@
+<head>
+    <title>title</title>
+    <meta name="idle-title" content="idle-title">
+</head>
+<body>
+</body>
+<script src="idle-title-by-blur-&-focus.js"></script>
+<!-- <script src="idle-title-by-visibilitychange.js"></script> -->

+ 11 - 0
idle-title-by-blur-&-focus.js

@@ -0,0 +1,11 @@
+let titles = {
+	'title': document.title,
+	'idle-title': document.querySelector('meta[name="idle-title"]').content,
+}
+titleFunction = function (Event) {
+	let flag = Event.type === 'blur' ? 'idle-title' : 'title';
+    document.title !== titles[flag] && (document.title = titles[flag]);
+}
+window.addEventListener('blur', titleFunction);
+window.addEventListener('focus', titleFunction);
+document.hidden && (document.title = document.querySelector('meta[name="idle-title"]').content);

+ 6 - 0
idle-title-by-visibilitychange.js

@@ -0,0 +1,6 @@
+const title = document.title;
+const idleTitle = document.querySelector('meta[name="idle-title"]').content;
+document.hidden && (document.title = idleTitle);
+document.addEventListener('visibilitychange', function (e) {
+    document.title = document.hidden ? idleTitle : title;
+}, false);