• 締切済み

初回アクセスから●時間経過後、一部を書き換える

例えば24時間後に、リンクを押せるようにcominngsoonが、詳細はこちら と切り替わるようにしたいのですが、どうすればいいですか?

  • egtomo
  • お礼率59% (101/170)

みんなの回答

回答No.5

まちがえた! <title></title>がぬけてました。 >簡単に見破れないようにBase64化とかシーザー暗号 ざんねんだなぁ、じかんがあればな~w。

回答No.4

これまでのかいとうをさんこうにしました。むだにながいし、あたらしいぶらうざでないとうごかない。 <!DOCTYPE html> <html lang="ja"> <meta charset="utf8"> <body> <h1>Cominng Soon Test</h1> <p>  <a>   <span id="hoge">Cominng Soon</span>  </a> </p> <script> function Cookie () {  var doc = this.document || document;  if (! navigator.cookieEnabled)   throw new Error;  function _setCookie (doc, name, value, expires, path, domain, secure) {   if (3 > arguments.length)    throw new Error;   var cookie = [ encodeURIComponent (name) + '=' + encodeURIComponent (value) ];   if (expires) cookie[cookie.length] = 'expires=' + new Date (expires).toUTCString ();   if (path) cookie[cookie.length] = 'path=' + encodeURI (path);   if (domain) cookie[cookie.length] = 'domain=' + encodeURI (domain);   if (secure) cookie.push ('secure');   doc.cookie = cookie.join ('; ');  }  function _getCookie (doc, name) {   if (2 > arguments.length)    throw new Error;   var n = encodeURIComponent (name).replace (/\W/g, '\\$&');   var v = doc.cookie.match (new RegExp (n + '\\s*=\\s*(.*?)(?:[;,\\s]|$)'));   return (v) ? decodeURIComponent (v[1]): '';  }  function SaveCookie (obj, expires, path, domain, secure) {   if (1 > arguments.length)    throw new Error;   for (var prop in obj)    if (obj.hasOwnProperty (prop))     _setCookie (doc, prop, obj[prop] || '', expires, path, domain, secure);  }  function _trim (str) {   return String (str).trim ();  }  function _collect (result, str) {   var nv = str.split ('=', 2);   if (2 == nv.length)    result[decodeURIComponent (_trim (nv[0]))] = decodeURIComponent (_trim(nv[1]));   return result;  }  function LoadCookie (obj) {   if (1 > arguments.length) {    return doc.cookie.split (';').reduce (_collect, new Object);        /*    obj = new Object;    var reg = new RegExp ('(?:^\\s*|\\s+)(.+?)\\s*\\=\\s*(.*?)\\s*(?:;|$)', 'g');    var c = doc.cookie;    var v;        while (v = reg.exec (c))     obj[decodeURIComponent (v[1])] = decodeURIComponent (v[2]);    */   }   else {    for (var prop in obj)     if (obj.hasOwnProperty (prop))      obj[prop] = _getCookie (doc, prop);   }   return obj;  }  return {   saveCookie: { value: SaveCookie, enumerable: true },   loadCookie: { value: LoadCookie, enumerable: true }  }; } var Events = {  handleEvent: {   value: function (evt) {    var $ = this;    switch (evt.type) {    case 'load':     var o = $.loadCookie ();     var timeString = o[$.cookieName];     var dt, dt0, dt1;     if (timeString) {      dt0 = +new Date (timeString);      dt1 = +getUTCDateByServer ();      if (dt1 > dt0 + $.keepTime - $.waitTime) {       o[$.cookieName] = null;       $.saveCookie (o);      }      if (dt1 > dt0)       this.success.call (this, evt);     }     else {      dt = +getUTCDateByServer ();      o[$.cookieName] = (new Date (dt + $.waitTime)).toString ();      $.saveCookie (o, new Date (dt + $.keepTime));     }          break;    }   }  },  success: {   value: function (evt) {    var $ = this;    var win = evt.currentTarget;    var t = win.document.querySelector ('#hoge');    t.textContent = $.message;    t.parentNode.href = $.url; //    var o = {}; o[$.cookieName] = null; $.saveCookie (o);//cookie reset   }  } }; function getUTCDateByServer ( ) {  try {   var req = new XMLHttpRequest;   req.open ('HEAD', '#', false);   req.send (null);   return (new Date (req.getResponseHeader ('Date')));  }  catch (err) { return new Date; } } var Param = {  cookieName: {   value: 'minnanihanaishodayo'  },  waitTime: { //  value: +Date.UTC (1970, 0, 3, 0, 0, 0, 000) // 3日(最大30日程度まで)   value: Date.UTC (1970, 0, 1, 0, 0, 5, 000) // 5秒  },  keepTime: {   value: Date.UTC (1970, 0, 1, 0, 0, 10, 000) // 10秒  },  message: {   value: '詳しい説明はこちら'  },    url: {   value: 'http://okwave.jp/qa/q8553893.html'  } } function Tools (obj) {  return Array.prototype.reduce.call (arguments, function (r, o) {   return Object.create (r, o) }, new Object); } addEventListener ('load', Tools (Cookie (), Events, Param), false); </script>

  • Ogre7077
  • ベストアンサー率65% (170/258)
回答No.3

サーバーなどを介さずに、クライアント側の JavaScript の範疇だけでやるならば addEventListener('load',関数,false) にて クッキー minnanihanaishodayo を読み取る クッキーが無ければ → 現時刻の文字列を設定して終了 クッキーから時刻を読み取り、現在時刻との差分を日数で計算 日数を元に、画面にリンクを表示 (例:日数が3なら、リンク1-3 を表示) 簡単に見破れないようにBase64化とかシーザー暗号とかで、 クッキー値とかリンク先URLの難読化をする一工夫があれば、 サプライズらしくなるのでお勧めです。

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.2

一番問題なのは、ユーザーが故意に、あるいはミスでパソコンの時計がずれているとき。 よって時間はサーバーサイドで取得しなければならない ・PHPやCGIでページを動的に書き出す。  合わせて   <meta http-equiv="refresh" content="秒数;URL=URL">  PHPを使うほうが楽かな ・javascriptはAjax( http://ja.wikipedia.org/wiki/Ajax )などで、サーバーとの改訂時間との更新が必要。  yahoo!オークションの残り時間の表示のような感じになります。  初回アクセスからと言う事は、人によって時間が異なるということなら、cookieが必要になるでしょう。

egtomo
質問者

お礼

詳しくありがとうございます。 やりたいことは、僕のブログにアクセスしてから24時間後にサプライズとして自作漫画ページへのリンクを表示させ、全7話なので、一日毎にページが増える仕組みにしたいなと思っておりました。 これは難しいでしょうか?

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

クッキーで初回アクセス時間をもつか、ログインシステムをつくって サーバー側で情報をもつかのどちらかでしょうね

egtomo
質問者

お礼

No2さんの内容をみると、クッキーで時間を持つ方だと思います。 ありがとうございます。

関連するQ&A

  • 経過時間について

    こんにちは 経過時間を0から表示して、ボタンが押されたら経過時間の計測・表示をストップし次のフレームに行き、また0から経過時間を表示したいのですが、どうすればいいでしょうか? 時間を表示させるdisptime.textとbtnというボタンをステージに配置しています。↓いろいろ試してみたのですが、フレーム移動した際に経過時間を0から表示させる方法がわかりません。。 flash8を使っています。 stop(); startflag=true; this.onEnterFrame=function(){ if(startflag==true){ starttime=getTimer(); keika=getTimer();-starttime; disptime.text=Math.floor(keika/1000); } }; btn.onRelease = function(){ startflag=false; nextFrame(); };

    • ベストアンサー
    • Flash
  • 寝ていると時間の経過が分からないのは何故ですか?

    寝ていると時間の経過が分からないのは何故ですか?

  • 経過時間を計るには

    簡単なクイズゲームを作っています。回答するまでにかかった時間を計って表示させたいのですがどうしたらいいでしょうか? クイズはランダムにフレームを移動して出題していて、回答したら(ボタンを押したら)またランダムにフレーム移動します。 5回回答したら結果画面のフレームに移動します。そこで回答するまでにかかった平均時間を表示させたいです。 環境はWindowsXP Flash8です。

  • Yahooauction画面で(詳細な残り時間)の時間が出ません

    Yahooauction画面で(詳細な残り時間)の時間が出ません 最近PCを新しい物にかえたのですが、 Yahooauction画面で(詳細な残り時間)がでません。 リンクされているのでクリックすると新しい画面は 開きます。ただし、残り時間:”  ”と一番大事な ”  ”が空白のまんまです。 特に設定は変えていないとおもうのですが、 何か特別な設定必要でしょうか? ちなみに以前正しく動作していたときのOSはwindows2000で新しいPCはwindowsXP HP です。 ご回答よろしくお願いします。 以上

  • 時間が経過したら間違っている正しいと思い込む

    自分が全て正しい 私に対して散々正しいからやれと言ってきた人がいます 私は相手が正しいと言ってきたことに対して調べて間違っている時はできないと伝えましたが私がどんな情報を言っても考えを言っても絶対に私が間違っていて言っている人が正しいと断言 明らかにその時は正しいと断言しても時間が経過するとともに間違っているや過ちになると私が思いました 正しいが間違っていたことに気づき 謝罪はしないで言い訳はあの時はしょうがなかった一言だけ あの時はしょうがないと言えば責任もななくなりなんでも許されるのでしょうか?

  • 時間経過とともに重くなってしまいます・・・。

    皆様、お知恵を拝借させて下さい。m(__)m 私はPCには疎く、原因が分からないのですが、 パソコンを起動して、1時間位すると、ものすごく重くなって作業が出来なくなってしまいます。だんだんと重くなっていく感じです。ネットをしていても、していなくても同じように重くなっていきます。 再起動をすると戻ります。 原因として考えられる事はどんな事がありますでしょうか? 自分なりに考えてみたのは、 1)ゾーンアラームというファイアウォールが原因。(履歴を見てみるとかなりの数アタックがあるので、その累積にて重くなっている?) 2)何かのウィルスに感染している。 素人考えなので、このくらいしか思いつきません。 どなたか、わかる方がいらっしゃったら、ちょっとした事でも何でも良いのでヒントになりそうな事があれば教えて下さい。(>_<) また、こういった修理を頼むとすれば何処へ頼めばよいのでしょうか?

  • 時間が経つとアクセスできなくなる。

    自分のブログにアクセスできなくなることがよくあります。 しょっちゅうです。 お気に入りに入れている自分のブログをクリックしたら、 「Google Chrome では*****fc2.com が見つかりませんでした」と出てきます。 *の部分は自分のブログのアドレスです。 パソコンを再起動すると、また普通にアクセスできるようになり、 でも少し時間が経つと、またアクセスできなくなり、 「Google Chrome で*****fc2.com が見つかりませんでした」という表記が出てきます。 これはクロームだけでなく、インターネットエクスプローラーでも同じです。 そちらでは、「Internet Explorer ではこのページは表示できません」と出てきます。 もう一台の兄のパソコンではこんなことになったことはありません。 このメッセージが表示される理由というのをクリックすると、 「エラー: このリンクは無効です」と出てきます。 他のパソコンでは普通にアクセスできる自分のブログに、 どうしてこのパソコンからはしょっちゅうアクセスできなくなるのでしょうか? でも、再起動すると必ずアクセスできるようになるのはなぜでしょうか? そして、また少し時間が経つとアクセスできなくなるのは何が原因なのでしょうか?? ちなみにこのパソコンはvistaでNECのバリュースターです。

  • Access2000VBAで

    下記に行いたい詳細を記載します。 test.mdbがあり、その中にテーブル一覧テーブルと 項目テーブルがあると仮定 (ODBC設定は設定済み、ODBC経由にてリンクをはりたいテーブルはORACLEと仮定) (1) テーブル一覧にあるテーブルをODBC経由にてリンクをはる   (この時、パスワード等の入力は行わないでテーブル一覧にある    テーブルすべてにリンクをはりたい) (2) リンクをはったテーブルの項目詳細を項目テーブルに抽出   (項目詳細:項目名、属性、桁数等) 上記の処理を行いたいのですが、いろいろ調べているのですが、 なかなか該当するものがなくて困っています。 結構急ぎで作成を行いたいのですが何卒よろしくお願いいたします。 環境:Win2000,Office2000

  • バスワードと経過時間によるアクセス制限

    お世話になっております。 一台のPCで複数の人が使うため、 アクセスできるサイトに制限をかけたい。 (1)ベーシック認証でないアクセス制限  理由は「パスワードを保存する」をチェックされてしまうと、  誰でも閲覧できてしまう。 (2)何もアクセスしず、一定時間が過ぎたら、以降のアクセスを無効にしたい。  再度、パスワードを要求する。 CGIを検索しましたが、見つかりませんでした。 ご紹介いただけると幸いです。

    • ベストアンサー
    • Perl
  • 時間は物がなくても経過しますか?

    「時間とは何か」を考えていて、初めに思いついたのは、我々が「時間の経過」を確認できるのは、何かが変化するからだと言うことです。木の葉が緑から赤に変わるとか、電車が通り過ぎる(位置が変わる)とか、あるいは、自分の体内変化、尿がたまるとか、白髪が増えるとか、そのような変化を通して、初めて時間の経過が確認できるのではないかと考えました。 そう考えると、もし、変化する何者も存在しなかったら時間は経過しないのではないかという変な考えが出て来ました。それで質問なのですが、いかなる物質も存在しない空間では、時間は経過しないと考えてよいでしょうか?