訪問回数表示
原案:一休 氏 (2000/04/01 登録)
このページを見ている人が何回訪問してくれたか回数を表示します。
表示サンプル
ソース記述内容
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head>
<title>訪問回数表示</title>
<script type="text/javascript">
<!--
//クッキーのデータを格納
var chk=GetCookie ("visit_num");
//訪問回数
var chk_num;
//名前
var your_name;
//クッキーを書き込む
function SetCookie( name, value ) {
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = ( argc > 2 ) ? argv[2] : null;
var path = ( argc > 3 ) ? argv[3] : null;
var domain = ( argc > 4 ) ? argv[4] : null;
var secure = ( argc > 5 ) ? argv[5] : false;
var d=new Date();
if (d.getYear()<2000) d.setYear(eval(d.getYear())+1901); else
d.setYear(eval(d.getYear())+1);
document.cookie = name
+ "="
+ escape(value)
+ ((expires == null) ? ("; expires=" + d.toGMTString()) :
("; expires=" + expires.toGMTString()))
+ ((path == null) ? "" : ("; path=" + path))
+ ((domain == null) ? "" : ("; domain=" + domain))
+ ((secure == true) ? "; secure=" : "");
}
//クッキー取得のサブルーチン
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 BreakCookie(data) {
var b=data.indexOf("&-&");
chk_num=data.substring(0,b);
your_name=data.substring(b+3);
}
//クッキーがなかったら名前を聞く
if(chk==null) {
your_name=prompt("名前を入力して下さい","名無しの権兵衛");
chk_num="1";
} else {
BreakCookie(chk);
chk_num++;
}
//クッキーに書き込む
SetCookie("visit_num",chk_num+"&-&"+your_name);
// -->
</script>
</head>
<body>
<div style="text-align:center">
<script type="text/javascript">
<!--
/*
document.write("<p>"+your_name+" さん(^^)/<br>");
本当は上でOKなのだが、
IEの場合、下のように分割しないとうまく表示されなかった。
*/
document.write("<p>"+your_name);
document.write(" さん(^^)/<br>");
//訪問回数によってメッセージを分ける
if(chk_num!="1")
document.write(chk_num+"回目の訪問ありがとうございます。</p>");
else
document.write("はじめての訪問ありがとうございます。</p>");
// -->
</script>
</div>
</body>
</html>