LoginSignup
35
35

More than 5 years have passed since last update.

残業を防ぐHTMLが通知してくる

Last updated at Posted at 2016-04-07

残業、遅刻、夜更かしを防ぐHTML がとても有用な(気がした)ので、思わず作りました。

HTML5のNotificationを使って淡々と通知してもらいます。
これでタブを切り替えず、お手軽に帰りたい気持ちになれますね。

無題.png

通知の部分はこんな感じです。(全コード)

var n;
update();
setInterval(update, 60 * 1000);
function update() {
  /* 略 */
  var time = hour + ":" + minute;

  if(n) {
    n.close();
  }

  var options = {
    body: "\n\n頃です。",
    icon: generateIcon(time)
  };
  n = new Notification('今帰ると帰宅時間は', options);
}

// 時間アイコンを作成する
function generateIcon(time) {
  var canvas = document.createElement('canvas');
  canvas.width = 130;
  canvas.height = 130;
  var context = canvas.getContext('2d');
  context.strokeStyle = '#3e3e3e';
  context.strokeRect(5, 5, 120, 120);

  // 文字関連
  context.font = 'bold 80px Arial';
  context.textAlign = 'center';
  context.textBaseline = 'middle';
  context.fillStyle = '#000';
  context.fillText(time, 64, 64, 110);
  return canvas.toDataURL();
}

見ての通りブラウザが対応してるかとか何一つ確認していません。通知の許可も取りません。
FireFoxで動いたのだけ確認しました。

あと、通知内の文字列が変更できないのと、自動で閉じるまでの時間が設定できなかったので、
一定時間で勝手に閉じた後に新しい通知が表示される、という挙動になっており非常に目障りです。
副作用として、「通知がうるさいからやる気なくした、今日は帰ろう。」という気持ちになるかもしれせん。

追記

まぁ、次の展開としては当然こうなりますよね。
http://notify-my-time.herokuapp.com/returnhome
(ソースコード)

35
35
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
35
35