- ベストアンサー
初回訪問(アクセス)日時の取得方法
前回訪問ではなく、初回アクセスの日時を取得し表示したいです。 jquery.cookie.jsを使用してこれに http://q.hatena.ne.jp/1282238649 初回訪問日時を追加したいのです。 jquery.cookie.jsを使えばよいのか、javascriptで別に記述するのか、よくわかりません。 なるべく早く回答頂けると助かります。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
提示されたコードのエラーは、try&catchの文法ミスです。 私には、なんのためのtry&cathcか分かりませんでした。 もっとも、このエラーが解消されたからといって正常には動きません。 大筋(ifによる条件分岐)は正常だと思いますが、文法は概ね間違っています。 厳しい言い方ですが、間違いだらけで指摘するところが見つかりません。 jquery.cookie.jsは、cookieの操作を簡略するものですが、jqueryを使う使わない以前に、cookieを操作するにはやはりcookieの基本を知る必要があります。 まずは、cookieを理解できるまで、十分調べてください。
その他の回答 (3)
- babu_baboo
- ベストアンサー率51% (268/525)
#2、です。かいどくなど、ひつようないでしょ? へんすう fd に date おぶじぇくとが、かえります function FirstContact () { function toCookie (name, value, day) { var date = new Date; date.setTime (date.getTime () + day * 86400000); return encodeURIComponent (name) + '=' + encodeURIComponent (value) + ';' + 'expires=' + date.toUTCString (); } function getCookie (cookie, name) { var v = cookie.match (RegExp (encodeURIComponent (name).replace (/\W/g, '\\$&') + '\\s*=\\s*(.*?)(?:[\\s;,]|$)')); return (v) ? decodeURIComponent (v[1]): ''; } var doc = document; var title = 'babu_babu_baboo'; // てきとうなもじ var day = 35; // てきとうなきかん var str = getCookie (doc.cookie, title); var date = str ? new Date (str): null; if (date) return date; doc.cookie = toCookie (title, (new Date).toString (), day); return null; }
- babu_baboo
- ベストアンサー率51% (268/525)
function FirstContact(){var e=document,a=function(a,c){var b=a.match(RegExp(encodeURIComponent(c).replace(/\W/g,"\\$&")+"\\s*=\\s*(.*?)(?:[\\s;,]|$)"));return b?decodeURIComponent(b[1]):""}(e.cookie,"babu_babu_baboo");if(a=a?new Date(a):null)return a;e.cookie=function(a,c,b){var d=new Date;d.setTime(d.getTime()+b*864E5);return encodeURIComponent(a)+"="+encodeURIComponent(c)+";expires="+d.toUTCString()}("babu_babu_baboo",(new Date).toString(),365);return null}; var day = FirstContact (); alert ( day ? day.toString (): 'はじめて';);
- tracer
- ベストアンサー率41% (255/621)
以下をjavascriptで書くだけです。 ご自身でひとつづつ調べてみてください。 ------------------------------------------------------------------------ A cookieに情報がない場合にBグループを実行する。 B1 javascriptでアクセス日時を取得する。 B2 javascriptで日時をcookieに記録する。 C1 javascriptでcookie記録された情報を読み出す。 C2 javascriptでcookieから取得した日時を表示する。 ------------------------------------------------------------------------
補足
ありがとうございます。参考にして以下のように書いてみました。 <script type="text/javascript"> <!-- var cook; var Start; if(navigator.cookieEnabled){ cook = document.cookie; Start = cook.indexOf("counts=",0); //変数Startにカウントデータの最初の位置を入れる if(Start == -1){ var date = new Date(); //アクセス日時を取得 document.cookie = "access=" + date; //日時をcookieに記録 //alert(document.cookie); //デバッグ用 var cookie = document.cookie; document.write("初回の訪問です。<br />" + cookie); } //else{ // accessData = cookie.substring(7,14); //指定した文字数から○○文字目を取得する // try{ // document.write(accessData); // } // catch(){ // document.write("失敗しました"); // } //} } else{ document.write("cookieを有効にしてください"); } --> </script> が、調べても謎が謎を呼び全くわからなくなってしまいました。 ifのあとのelseは有効にするとエラーとなってしまいます。 考え方としてはあっていますでしょうか・・・? ご教示いただければ幸いです。
お礼
ありがとうございます。 折角解答して頂いたのですが、現在の知識では解読不能でした。。。