- ベストアンサー
来訪者のクッキーを利用して、訪問回数によって飛び先を変えるにはどうした
来訪者のクッキーを利用して、訪問回数によって飛び先を変えるにはどうしたらよいでしょうか? 具体的には、 飛び先を 1回目来訪時には 1.html 二回目の、来訪時は 2.html 3回目の訪問以降は3.htmlに飛ばせるような、 javascriptをいただけたらありがたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
function Cookiechk(){ var url; var times = getCookie("Times"); switch(times){ case "": times = 1; url="1stURL"; break; case "2": url="2stURL"; break; default: url="3stURL"; break; } times++; setCookie("Times", times); location.href=url; //clearCookie("Times"); } function getCookie(key,tmp1,tmp2,xx1,xx2,xx3){ tmp1=" "+document.cookie+";"; xx1=xx2=0; len = tmp1.length; while (xx1<len){ xx2 = tmp1.indexOf(";",xx1); tmp2 = tmp1.substring(xx1+1,xx2); xx3 = tmp2.indexOf("="); if (tmp2.substring(0,xx3) == key) return(unescape(tmp2.substring(xx3+1,xx2-xx1-1))); xx1 = xx2+1; } return(""); } function setCookie(key, val, tmp) { tmp = key+"="+escape(val)+"; "; tmp +="expires=Tue, 31-Dec-2030 23:59:59; "; document.cookie = tmp; } //おまけ function clearCookie(key) { document.cookie = key+"="+"xx; expires=Tue, 1-Jan-1980 00:00:00;"; }
その他の回答 (1)
- yyr446
- ベストアンサー率65% (870/1330)
直接、埋め込める状態にしました。 よく考えると、判定ページは別途作っておかないと、 いきなりはjavascriptとHTMLだけではむりですね。 --------hantei.html ------------------ <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>Cookie Hantei</title> <script type="text/javascript"> window.onload=function(){ Cookiechk(); } function Cookiechk(){ var url; var times = getCookie("Times"); switch(times){ case "": times = 1; url="1.html"; break; case "2": url="2.html"; break; default: url="3.html"; break; } times++; setCookie("Times", times); location.href=url; //clearCookie("Times"); } function getCookie(key,tmp1,tmp2,xx1,xx2,xx3){ tmp1=" "+document.cookie+";"; xx1=xx2=0; len = tmp1.length; while (xx1<len){ xx2 = tmp1.indexOf(";",xx1); tmp2 = tmp1.substring(xx1+1,xx2); xx3 = tmp2.indexOf("="); if (tmp2.substring(0,xx3) == key) return(unescape(tmp2.substring(xx3+1,xx2-xx1-1))); xx1 = xx2+1; } return(""); } function setCookie(key, val, tmp) { tmp = key+"="+escape(val)+"; "; tmp +="expires=Tue, 31-Dec-2030 23:59:59; "; document.cookie = tmp; } function clearCookie(key) { document.cookie = key+"="+"xx; expires=Tue, 1-Jan-1980 00:00:00;"; } </script> </head> <body> <p>Hello World</p> ----</body> </html>
お礼
補足のところに記入できなかったので、こちらに記入させていただきます。 お手数おかけして申し訳ないのですが、若干方針変更で、javascript and cookiを利用して ある、<p>タグの一部分で 1回目来訪時にはあああああああと表示 2回目来訪時にはいいいいいいいと表示 3回目来訪時以降はううううううと表示という風に表示させることが一番しっくり合うことに気づきました。 こちらでお願いしてよろしいでしょうか? 度々の変更申し訳ないですけどお願いいたします。
補足
どうも、ありがとうございます。 早速頂いたタグをHTMLに埋め込んでみたところ うまくいきました^^ ところが、判定ページをhttp:~/index.html(頂きましたタグをindex.html内に挿入)に、持ってきているのですが、1回目来訪時のhttp:~/1.html もしくは、http:~/2.htmlに振り分けられた際に、お気に入りに入れられると、http:~/1.htmlもしくは http:~/2.htmlで保存されるために該当スクリプトの威力が発揮されないということを発見してしまいました。。。 何か、いい解決方法はございませんでしょうか?
補足
ありがとうございます。 初めて教えてgooを使っているのですが、 本当に返事がいただけてうれしく思います。 しかしながら、 javascriptの知識が乏しいために HTMLに直接、いただいたタグを埋め込んだのですが、 エラーが出てしまいます。 直接、埋め込める状態に加工いただけたら 非常にありがたいです。 勝手なお願い申し訳ないです。