javascript:(function(){
  /* 1. 通知許可をリクエスト */
  if (Notification.permission !== "granted") Notification.requestPermission();

  const selection = window.getSelection();
  if (selection.toString().trim() === "") return alert("範囲を選択してください");

  let targetElement = selection.getRangeAt(0).commonAncestorContainer;
  if (targetElement.nodeType === 3) targetElement = targetElement.parentNode;

  const initialText = targetElement.innerText;
  
  /* 音を鳴らす関数 */
  const ringAlarm = () => {
    const audioCtx = new (window.AudioContext || window.webkitAudioContext)();
    const osc = audioCtx.createOscillator();
    osc.connect(audioCtx.destination);
    osc.start();
    osc.stop(audioCtx.currentTime + 0.5); /* 0.5秒鳴らす */
  };

  setInterval(() => {
    if (targetElement.innerText !== initialText) {
      /* デスクトップ通知 */
      new Notification("更新検知!", { body: "選択範囲が変化しました" });
      /* 音を鳴らす */
      ringAlarm();
      /* アラート(タブを切り替えた時に表示される) */
      alert("更新されました!");
      location.reload();
    }
  }, 3000);

  alert("監視中... このまま別タブへ行ってもOKです(音と通知で知らせます)");
})();