일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- docker
- 도커
- node.js web framework
- 메일왕창보내는법
- 나의 취미
- ror실행
- Eclipse
- 책이야기
- 명사 분석기
- ajax
- 디즈니씨
- 명사 뽑아내기
- 스킨 스쿠버
- php thumbnail
- Cross
- ejb
- rss
- 명사 추출기
- 베트남어
- flex3
- C/C++
- nodejs express
- Node.js
- 나의 프로젝트
- Lift
- iBatis
- express for node.js
- php
- scala
- 주식이야기
- Today
- Total
nkdk의 세상
JS :: 홈페이지 카운터 본문
쿠키를 이용하여 사용자의 방문횟수와 날짜/시간을 저장한 후 방문횟수는 이미지로 보여주고, 날짜/시간을 보여줍니다. 또한, 방문횟수에 따라 다양한 메시지를 보여줍니다.
<html>
<script language="JavaScript">
<!--function getcookieval (offset) { // 밸류값 반환
var endstr = document.cookie.indexOf(";", offset);if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}function getcookie(name) { // 밸류값 검색/호출
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;while (i<clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getcookieval(j);
i = document.cookie.indexOf(" ", i) +1;
if (i == 0)
break;
}
return null;
}function setcookie(name, value) { // 쿠키정보를 저장
var argv = setcookie.arguments;
var argc = setcookie.arguments.length;var expires = (2 < argc) ? argv[2] : null;
var path = (3 < argc) ? argv[3] : null;
var domain = (4 < argc) ? argv[4] : null;
var secure = (5 < argc) ? argv[5] : false;document.cookie = name + "=" + escape(value) + ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + ((path == null) ? "" : ("; path=" + path)) + ((domain == null) ? "" : ("; domain=" + domain)) + ((secure == true) ? "; secure" : "");
}function page_count(sms_cnt) { // 방문횟수 이미지출력
var my_len = new String(sms_cnt);
var int_len = my_len.length;
var my_counter = "";for (var i=0; i<int_len; i++) {
my_tmp = my_len.charAt(i);
my_counter += "<img src=images/" + my_tmp + ".gif>";
}
return my_counter;
}function re_count() { // 요청시 초기화합니다.
var myday = new Date();
var last_day = myday.toGMTString();
var sms_cnt = 0;setcookie("mycnt", sms_cnt, myday, "/", null, false);
setcookie("mycnt_time", null, myday, "/", null, false);
location.reload();
}// -->
</script>
<body>
<div align="center"><script language="JavaScript">
<!--var myday = new Date();
var sms_cnt; // 방문횟수
var last_day = myday.toGMTString(); // 방문시간myday.setMonth(myday.getMonth() + 3); // 3개월후를 설정
if (!(sms_cnt = getcookie("mycnt"))) // 방문횟수가 없으면 (null, 0 = false)
sms_cnt = 0;if (!(last_visit = getcookie("mycnt_time"))) // 방문기록이 없으면
last_visit = "없음";
else
last_visit = getcookie("mycnt_time");sms_cnt++; // 방문횟수를 증가합니다.
setcookie("mycnt", sms_cnt, myday, "/", null, false);
setcookie("mycnt_time", last_day, myday, "/", null, false);var sms_str = page_count(sms_cnt);
document.write("최근 방문 시간 : " + last_visit + "<hr>");
document.write("홈페이지에 " + sms_str + "번째 방문했습니다." + "<br>");switch(sms_cnt) {
case 1 : document.write("첫 방문을 환영합니다.");
break;
case 3 : document.write("3번째 방문이시군요.");
break;
case 5 : document.write("재미나게 구경하세요.");
break;
case 10 : document.write("자주 오시네요. 감사합니다.");
break;
default : document.write("자주 놀러오세요");
break;
}// -->
</script>
</div>
<form>
<input type="button" value="방문자수 초기화" onClick="re_count()">
</form>
</body>
</html>