名前を訪問者が入力した名前にできる小説、いわゆるドリーム小説などに使えます。
本文中にスクリプトコードを書き込んでそこに名前を表示するタイプです
◇動作サンプル
Cookie登録
あなたの名前は? 
入力しただけでは何も起こっていないように見えますが、
このページを再読込みすると下に入力した名前が表示されているはずです。
『ようこそ さん』

Cookieを利用しているので1度入力すれば他のページに対しても有効です。
ただしCookieの性質上同じサイト内でしか機能しません
確実にしたいなら名前の設定と名前を使用するページを同じディレクトリに置いて下さい。
オフラインでの使用も可能です。


◇名前入力ページ
<HEAD>〜</HEAD>に
<SCRIPT language="JavaScript"><!--
hozon = 300;
setD = new Date();
setD.setTime(setD.getTime()+(hozon*1000*60*60*24));
expDay = setD.toGMTString();

function saveData(){
theValue = document.f.na.value;
document.cookie = "Na="+escape(theValue)+";expires="+expDay;
document.f.na.value="";
}
//--></SCRIPT>
hozon = 300はCookieの保存日数、NaはCookieに付けた名前です

<BODY>〜</BODY>に名前の入力部分
<FORM NAME=f ACTION="javascript:saveData();">
<INPUT TYPE="text" NAME=na>
<INPUT TYPE="submit" value="教える">
</FORM>
と書き込みます。

◇名前を使うページ
<HEAD>〜</HEAD>にCookieを呼び出す処理
<SCRIPT language="JavaScript"><!--
usename="入力されなかったときに使われる名前";
theName = "Na=";
theCookie = document.cookie+";"
start = theCookie.indexOf(theName);
if (start != -1){
end = theCookie.indexOf(";",start);
usename = unescape(theCookie.substring(start+theName.length,end));
}
//--></SCRIPT>
名前を表示したい場所に
<SCRIPT language="JavaScript"><!--
document.write(usename);
//--></SCRIPT><NOSCRIPT>入力されなかったときに使われる名前</NOSCRIPT>
と書き込みます。
JavaScript,Cokkieなどの機能を切っている方には「入力されなかったときに使われる名前」が表示されます




Cookieを登録する部分は書込み型と同様です。
名前を表示する部分に、直接本文中の文字列を指定して変換します
文章にスクリプトを埋め込む必要がありません。

◇動作サンプル
通常はページ読み込み時にページ全体を変換しますが、サンプルはボタンで変換します。
Cookie登録は書込み型のところで行って下さい

現在のCookie登録内容→ 

こんにちは○○さん

↑IEならテキストボックス内も、○○を含んだ文を入力してボタンを押すと変換されます


<HEAD>〜</HEAD>にCookieを呼び出す処理と変換用関数
<SCRIPT language="JavaScript"><!--
usename="入力されなかったときに使われる名前";
theName = "Na=";
theCookie = document.cookie+";"
start = theCookie.indexOf(theName);
if (start != -1){
end = theCookie.indexOf(";",start);
usename = unescape(theCookie.substring(start+theName.length,end));
}
function Henkan(){
re = new RegExp("", "g");
document.body.innerHTML = document.body.innerHTML.replace(re,usename);
}
//--></SCRIPT>
ページ内の文字列○○の部分が全てCookieの内容に変換されます

<BODY>タグ内に変換の関数を呼び出す書込み
onLoad="Henkan();"




Cookieは登録時に有効期限を設定しています。
上記の登録用スクリプトでは
hozon = 300;
となっている部分で保存の日数を設定しています
その期間が過ぎれば自動的に無効となるので通常はそれほど気にする必要はありません。

例えば、このページの最初で登録したCookieを強制的に消去したい場合には
下記のように有効期限を過去の時間にすることで即無効にすることができます。

<HEAD>〜</HEAD>に
<SCRIPT language="JavaScript"><!--
function clearData(){
document.cookie = "Na=;expires=Thu,01-Jan-70 00:00:01 GTM";
}
//--></SCRIPT>
消去実行用のボタン
<INPUT TYPE="button" value="登録情報を消す" OnClick="clearData();">

動作サンプル

現在の登録内容→
※ページを再読み込みすると内容が反映されます


- Labo TOP -