- ベストアンサー
ページを訪問者にたった一度だけ表示させる
どう調べたら良いかわからなかったので失礼致します。 index.htmlからAというページにリンクを貼って、普通はAというページにそのまま飛ばされますよね。 それを、初めてAというページへ飛ぶ場合のたった一度だけ、アンケートや確認メッセージのあるページBを経由してAというページに移動させる方法はないでしょうか? ただリンクを貼るだけなら簡単なのですが、初回1回のみ確認メッセージを表示させたいのです。2度目以降は自分でもいちいち答えるのがうざったいので直接Aに移動したいのですが・・・。 何か方法をご存知の方、宜しくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#2です。サンプルソースを書いておきます。 index.html <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-31j"> <title></title> </head> <body> <A href="a.html">next</A> </body> </html> a.html <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-31j"> <title>a</title> <script type="text/javascript"> <!-- //ページ読み込み時に発生する。(bodyのonLoadイベントで呼び出し) function init() { //クッキー取得処理を呼び出し、戻り値をcoocに代入 var cooc = getCookie(); //戻り値がOKの場合はクッキーが存在するのでb.htmlに飛ばす if (cooc == "OK") { location.href="b.html"; } } //クッキー取得(取得できればOK、できなければNGを返す) function getCookie(){ //当日日付取得 var today = new Date().getTime(); //クッキー取得 var doc = document.cookie+";".indexOf("test="); //クッキーが取得できなければindexOfで-1が返されるのでif文で判別 if(doc != -1){ return("OK"); } else { //取得できなければクッキーを食べさせる。(ecpires=有効期限) document.cookie = "test=1;expires="+new Date(today + (60 * 60 * 24 * 1000 * 365)); return("NG"); } return(""); } //--> </script> </head> <body onLoad="init()"> 初めてですね。 <A href="b.html">next</A> </body> </html> b.html <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-31j"> <title>b</title> </head> <body> ようこそ。 </body> </html> 試してみてください。
その他の回答 (2)
- hisajiro
- ベストアンサー率37% (124/329)
クッキー判定を使用すれば実現可能ですが、 永久的と言うわけでもなく、クッキーの設定がオフだったりするとできなくなります。 クッキーで判別する方法でしたらHTMLとJavaScriptでも実現可能と思われます。 index.html→クッキー判定-yes→B.html | no ↓ A.html この流れでできるはずです。
- vaio09
- ベストアンサー率37% (756/2018)
この手の処理はJavascriptを使います。つまり、cookieの有無により初めての訪問か否かを判断させる~ということが分かれば、そんなに難しくないです。 いろんな要素がありますので、まずは下記の各例をご覧下さい。 それぞれ、訪問の有無や回数を計数する処理系の例です。 初めての訪問者にポップアップを表示 http://www.webdesignlibrary.jp/2006/12/new_user_popupwindows.php 訪問回数カウンタ http://www.wind.sannet.ne.jp/alfix/javascript/cookie/2.html 前回の訪問日時の表示 http://javascript.eweb-design.com/1403_on.html 訪問者が何回そのページに訪れたかを確認する 等 http://www5e.biglobe.ne.jp/~access_r/hp/javascript/js_007.html 例えば一番最後の例のソースに http://beginners.atompro.net/htm/smpjvsc/pjumpj.shtml にあるような処理を加えればいいでしょう。
お礼
回答ありがとうございます。 javascriptだったのですね。参考にさせて頂きました。 ご丁寧にありがとうございました。
お礼
回答ありがとうございます。 サンプルまで貼っていただき非常にわかりやすかったです。 テストページで試してみましたが本当にできました!感激です。 ご丁寧にありがとうございました。