미디어위키:Gadget-NewrevNotification.js

참고: 설정을 저장한 후에 바뀐 점을 확인하기 위해서는 브라우저의 캐시를 새로 고쳐야 합니다.

  • 파이어폭스 / 사파리: Shift 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5 또는 Ctrl-R을 입력 (Mac에서는 ⌘-R)
  • 구글 크롬: Ctrl-Shift-R키를 입력 (Mac에서는 ⌘-Shift-R)
  • 인터넷 익스플로러 / 엣지: Ctrl 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5를 입력.
  • 오페라: Ctrl-F5를 입력.
// Source code written by [[User:LiteHell2]]

var conf = mw.config.get(["wgArticleId", "wgServer", "wgScriptPath", "wgCurRevisionId"]);
var apiPoint = conf.wgServer + conf.wgScriptPath + "/api.php";
var apiParams = "?format=json&action=query&pageids="+conf.wgArticleId+"&prop=revisions";
var apiUrl = apiPoint.concat(apiParams);
 
var rid = conf.wgCurRevisionId;
function htmlAlert(content) {
   var e = document.createElement("div");
   var r = function(){if(e.parentNode != null) e.parentNode.removeChild(e);};
   e.setAttribute("style", "position: fixed; top: 60px; left: 50%; transform: translateY(-50%); border-radius: 5px; padding: 10px; background: rgba(153, 255, 102, 0.5); cursor: pointer; z-index: 90001");
   e.innerHTML = content;
   e.addEventListener("click", r);
   document.body.appendChild(e);
   setTimeout(r, 1000 * 20);
}
function checkRev(){
   $.ajax({
      url: apiUrl,
      success: function(result){
         console.log(result);
         var pObj = result.query.pages[Object.keys(result.query.pages)[0]].revisions[0];
         var revNow = pObj.revid, editor = pObj.user;
         if (rid != revNow) {
            rid = revNow;
            htmlAlert("갱신됨.<br>리비전 ID : "+revNow+"<br>편집자 : "+editor);
         }
      }
   });
}
setInterval(checkRev, 1000 * 5);
checkRev();