• ベストアンサー

ページを訪問者にたった一度だけ表示させる

どう調べたら良いかわからなかったので失礼致します。 index.htmlからAというページにリンクを貼って、普通はAというページにそのまま飛ばされますよね。 それを、初めてAというページへ飛ぶ場合のたった一度だけ、アンケートや確認メッセージのあるページBを経由してAというページに移動させる方法はないでしょうか? ただリンクを貼るだけなら簡単なのですが、初回1回のみ確認メッセージを表示させたいのです。2度目以降は自分でもいちいち答えるのがうざったいので直接Aに移動したいのですが・・・。 何か方法をご存知の方、宜しくお願いいたします。

  • HTML
  • 回答数3
  • ありがとう数2

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

  • ベストアンサー
  • hisajiro
  • ベストアンサー率37% (124/329)
回答No.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> 試してみてください。

ambre11
質問者

お礼

回答ありがとうございます。 サンプルまで貼っていただき非常にわかりやすかったです。 テストページで試してみましたが本当にできました!感激です。 ご丁寧にありがとうございました。

その他の回答 (2)

  • hisajiro
  • ベストアンサー率37% (124/329)
回答No.2

クッキー判定を使用すれば実現可能ですが、 永久的と言うわけでもなく、クッキーの設定がオフだったりするとできなくなります。 クッキーで判別する方法でしたらHTMLとJavaScriptでも実現可能と思われます。 index.html→クッキー判定-yes→B.html         |         no         ↓        A.html この流れでできるはずです。

  • vaio09
  • ベストアンサー率37% (756/2018)
回答No.1

この手の処理は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 にあるような処理を加えればいいでしょう。

ambre11
質問者

お礼

回答ありがとうございます。 javascriptだったのですね。参考にさせて頂きました。 ご丁寧にありがとうございました。

関連するQ&A

  • パスワードページ以外からの訪問防止

    初心者ですので、失礼があればすみません。 HTMLになるのか分かりませんが、お答え下さい。 パスワードAページとBページがあります。 Aページを経由する以外からの方法で、Bページを表示出来ないようにするにはどのようにすればよろしいでしょうか? (URLを直接入力してページを開く人を未然に防ぐためです。) もしくは、Bページを表示しようとするとAページが表示するにはどのようにすればよろしいですか?

    • ベストアンサー
    • HTML
  • ページ内リンクついて

    乱文にて失礼いたします。 ページ内リンクで所定の場所に移動した時、 普通はURLの末に、「~.html#リンク先」となります。 すると、ブラウザの戻るボタンで戻ろうとした時に、 一度のクリックでは、移動前の場所に戻るだけで、 前のページに戻れません。 [例]http://www.nttdocomo.co.jp/service/ ※「このページのトップへ」でページの上に移動後、 ブラウザの「戻る」を選択すると、ページの最下層に移動してしまう。 しかし、下記例のホームページではページ内リンクにを 使用しているのに、URLが「~.html#リンク先」とならず、 「~.html」のままです。 [例]http://amanaholdings.jp/corporate/history/index.html ※すると、ページ内リンクを使用しても、ブラウザの「戻る」を 一度クリックするだけで、前のページに移動できます。 こういう場合、どういった設定をしているのでしょうか? 教えて下さい。

    • ベストアンサー
    • HTML
  • フレーム内のページ表示について

    メニューとメインでフレームのページを作っています。 メインページに直接訪れた人の為に、「メニューが表示されない場合はクリック」とフレームページのリンクを作ってあります。<A href="index.html" target="_top"> フレームページ(メニュー)は表示されるのですが、次にメニュー項目をクリックすると、全画面でメインページがでてしまい、またメニューが見えなくなってしまいます。 ふつうにフレームページ(index.html)を開いた場合は、ちゃんとメインフレーム内に各ページが表示されるので、なぜメインページのリンクからだとそれができないのかがわかりません。 フレーム名はメニュー=menu メイン=mainとして、メニュー各項目のリンクは<A href="001.htm" target="main">としてあります。 説明が下手でごめんなさい。よろしくお願いします。

    • ベストアンサー
    • HTML
  • 元のページのタイトルを取得することは出来ますか?

    <a href="http://www.yahoo.co.jp/index.htm" target="new">Yahoo</a> と書いてあってリンクを押して新しくウィンドウを開いた時に、 移動先のindex.htm内のJavaScriptによって 上記タグが書かれていた元のページのタイトルを取得する方法を教えて頂きたいです。 宜しくお願い致します。

  • 【特設】アンケートページ の過去の質問を表示できません...

    【特設】アンケートページ の過去の質問(561以前のページ)を 表示しようとすると『【特設】アンケートカテゴリーのご利用 にあたって』という表示が現れ、そのページ内のリンク『【特設】 アンケートカテゴリを見る』をクリックしても『561ページ』に 戻ってしまいます。皆さんは如何でしょうか。 また、解決方法があれば教えてください。

  • ページを開いたときフレーム内に正しく表示しない

    画面が3つのフレームで成るページ(以下、「A」と称します)を作りました。Aは、上半に1フレーム、下半の左側に1フレーム、同右側に1フレームの3つのフレームで成っています。左下のフレームにリンク元が表示されておりそこをクリックすると右下のフレームにリンク先のページが表示されるようにしてあります。 しかし、Aを開くと右下のフレームにはリンク先のページが表示されず、代わりに次のようなメッセージが表示されます。 ページを表示できません。 検索中のページは現在、利用できません。Web サイトに技術的な問題が発生しているか、ブラウザの設定を調整する必要があります。(以下省略) 右下のフレームにきちんと表示させるにはどうしたらよいのでしょうか。 ただ、右下のフレームに上記のメッセージが表示されているとき左下のフレームのリンク元をクリックすると、右下のフレームには正しく表示されます。

    • ベストアンサー
    • HTML
  • アクティブページのURLを取得・編集して移動

    カレンダー付のhtmlページを作成しています。 現在開いているウィンドウのURLを取得して前年、翌年の同月のページに移動するリンクを作成したいのですが、JavaScripを使用して出来ますか?出来れば方法を教えてください。 例)現在開いているページのURLが 「http://○○/2005/04/index.html」だった場合、JavaScripを記述した場所に 「http://○○/2003/04/index.html」と 「http://○○/2006/04/index.html」のリンクを作成。

  • トップページをランダムに表示するには?

    画像やメッセージなどを表示毎にランダムで変更するなどの方法はよくありますが、例えば index1.html index2.html とう2種類のトップページがあり、この2つを ランダムでどちらか表示させるということをするには どのようにすればいいでしょうか? よろしくお願いします。

  • ページ内アンカーに移動しない:

    ページ内アンカーに移動しない: あるページ"A"に <div id = "TOP"></div>と設定し ページ"B"に <a href="test.html#TOP">test<a> と設定しました。 動作確認をした結果、Firefox・クロムと正常に動くのですが IEが全バージョンで、該当ページに飛ぶのですが、アンカーに 移動しません。 ローカルにてテストをした結果、IEで通常に移動します。 調べた所、 javascript等が使用されているとリンク先ジャンプ後にセキュリティの確認 が有るため、アンカーリンクが消されると書いてあったので javascript部分を全て削除し、動作確認をしたのですが やはりアンカーに飛んでくれません。 どなたか、ご教示ください。

  • 必ずトップページを表示するには?

    私のHPはトップページ(index)にアクセスカウンタをつけ、荒らし対策とかのメッセージを載せるようにしています。よくある、トップページからenterするとメニューが表示されるHPです。 そこで各コンテンツやメニューのページに直接ブックマークをさせない、しても必ずトップページに飛ばせる方法ってありませんか? よろしくお願いします。

専門家に質問してみよう