요즘과 같은 비동기, 실시간 웹에서는 웹에서 업데이트된 소식을 사용자에게 바로바로 전달해야 되는 경우가 많다. 예를 들어 페이스북에 새로운 알림이 있다면 사용자가 페이스북을 보고 있지 않더라도 알림이 왔다고 알려줘야 한다. 이럴때 사용 하는 방법 중 Title을 이용한 notification이 있다.
시간 관계상 바로 full source code 올림
var orgnTitle = "U And I Talk"; var count = 0; var onFocus = true; var title = document.title; function increaseNoti() { if(onFocus) return; count++; var newTitle = '(' + count + ') ' + title; document.title = newTitle; } function resetNoti() { count = 0; document.title = orgnTitle; } /***********************이건 테스트용************************/ function newUpdate() { update = setInterval(increaseNoti, 2000); // 실제로 코드를 돌려보면 사용자가 안 보고 있을때만 숫자가 증가한다. } newUpdate(); /***********************이건 테스트용************************/ $(window).on("blur focus", function(e) { var prevType = $(this).data("prevType"); if (prevType != e.type) { // reduce double fire issues switch (e.type) { case "blur": onFocus = false; break; case "focus": onFocus = true; resetNoti(); break; } } $(this).data("prevType", e.type); })
'IT 실무 > 웹프로그래밍' 카테고리의 다른 글
크기가 다른 블럭이 타일형태로 쌓이는 레이아웃(Masonry) 적용하기 (0) | 2017.05.06 |
---|---|
jQuery Ajax에서 정상적으로 응답이 왔는데 fail 이 호출되는 경우 (0) | 2017.04.09 |
height 100%가 제대로 적용이 안될 때 (0) | 2015.12.08 |
Javascript는 Call by reference인가 Call by value인가 (0) | 2015.11.21 |
node js에서 mysql 함수를 동기(sync)로 사용하기 (2) | 2015.10.04 |
댓글