わたしの
ホームページの作り方のサイトの
HPの作り方質問BBSで、「ページに入る時に、名前を入力するスクリプトが開いて、次からは『名前を変更する』というボタンを押さない限り、そのスクリプトが開かないようにする、というスクリプトを…」という質問がありました。始めはよく意味が分からなかったのですが、JavaScript のクッキーを使ってできるかな?、と思い、遊び半分で作ってみましたら何とかそれらしきものになりました。
ソース
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<meta http-equiv="Content-Style-Type" content="text/css">
<title>名前を訊くスクリブト</title>
<script type="text/javascript"><!--
cookiename = "jusw221";
function setCookie(){
expires = "Fri, 31 Dec 2010 23:59:59 GMT";
var cname;
cname = escape(form1.nam.value);
if(cname == ""){document.write('お名前をお書き込み下さい');}
else{
document.cookie = cookiename + "=" + cname + "; expires=" + expires;
return true;}
}
function setCookie2(){
expires = "Fri, 31 Dec 2000 23:59:59 GMT";
var cname;
cname = "oo";
document.cookie = cookiename + "=" + cname + "; expires=" + expires;}
//--></script>
</head>
<body topmargin="150">
<center>
<script type="text/javascript"><!--
str = document.cookie;
no = str.indexOf(cookiename);
str2 = str.substring(no+cookiename.length+1);
no = str2.indexOf(";");
if(no==-1){str3 = str2.substring(0);}
else{str3 = str2.substring(0,no);}
str3 = unescape(str3);
if(str.match(/jusw221/)||(str3!=""&&no==-1)){
document.write(str3 + 'さん、いらっしゃい!<br><br>');
document.write('お名前を変更したい時には、クリックしたください ');
document.write('<form><input type="button" name="change" value="名前の変更" onClick="setCookie2();location.reload();"></form>');}
else {document.write('<form name="form1">');
document.write('<p>お名前をお書き込み下さい');
document.write(' <input size="20" type="text" name="nam"></p>');
document.write('<p><input type="button" value="登 録" onClick="setCookie();location.reload();"></p></form>');}
//--></script>
</center>
</body>
</html>
興味をお持ちの方はお試しください。下のコピーボタンをクリックしますと、上のソースが一括してクリップボードにコピーされます。
「名前を訊くスクリプト」続きを読む