• ベストアンサー

初回訪問(アクセス)日時の取得方法

前回訪問ではなく、初回アクセスの日時を取得し表示したいです。 jquery.cookie.jsを使用してこれに http://q.hatena.ne.jp/1282238649 初回訪問日時を追加したいのです。 jquery.cookie.jsを使えばよいのか、javascriptで別に記述するのか、よくわかりません。 なるべく早く回答頂けると助かります。

質問者が選んだベストアンサー

  • ベストアンサー
  • tracer
  • ベストアンサー率41% (255/621)
回答No.3

提示されたコードのエラーは、try&catchの文法ミスです。 私には、なんのためのtry&cathcか分かりませんでした。 もっとも、このエラーが解消されたからといって正常には動きません。 大筋(ifによる条件分岐)は正常だと思いますが、文法は概ね間違っています。 厳しい言い方ですが、間違いだらけで指摘するところが見つかりません。 jquery.cookie.jsは、cookieの操作を簡略するものですが、jqueryを使う使わない以前に、cookieを操作するにはやはりcookieの基本を知る必要があります。 まずは、cookieを理解できるまで、十分調べてください。

その他の回答 (3)

回答No.4

#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; }

回答No.2

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 (): 'はじめて';);

attyonn
質問者

お礼

ありがとうございます。 折角解答して頂いたのですが、現在の知識では解読不能でした。。。

  • tracer
  • ベストアンサー率41% (255/621)
回答No.1

以下をjavascriptで書くだけです。 ご自身でひとつづつ調べてみてください。 ------------------------------------------------------------------------ A cookieに情報がない場合にBグループを実行する。 B1 javascriptでアクセス日時を取得する。 B2 javascriptで日時をcookieに記録する。 C1 javascriptでcookie記録された情報を読み出す。 C2 javascriptでcookieから取得した日時を表示する。 ------------------------------------------------------------------------

attyonn
質問者

補足

ありがとうございます。参考にして以下のように書いてみました。 <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は有効にするとエラーとなってしまいます。 考え方としてはあっていますでしょうか・・・? ご教示いただければ幸いです。

関連するQ&A

専門家に質問してみよう