• ベストアンサー

javascriptとcookieの判定とページ遷移

javascriptを使ったサイト作りは全くの初心者なのですが、自分のHPで以下のようなことがしたいと思っています。 1.index.htmlでjavascriptとcookieの設定を判定 2.どちらも有効の場合はtop.html(サイトの内容)へ自動的に移動 3.2以外の場合はsetup.html(設定の仕方)へ自動的に移動 検索で探していて判定結果を表示するスクリプトはちらほら見かけたのですが、その結果を受けて2、3をさせる方法がわかりません。 ヒントになるページを教えていただくか、アドバイスをいただけないでしょうか。 どうかよろしくお願いします。

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

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

まずスクリプトが無効の場合はnoscriptで処理します。 飛ばすはmeta refreshですが、できれば手動でも移動するような 配慮が必要です。 スクリプトが有効でクッキーが無効な場合は、まずクッキーを 設定してやりそれを読みこんでやるのが手っ取り早いでしょう。 両方有効な場合は、location.hrefで移動します。 <noscript> <meta http-equiv="refresh" content="3;url=setup.htm"> 3秒後にセットアップページに移動します。 移動しない場合は<a href="setup.html">こちら</a>をクリックしてください。 </noscript> <meta http-equiv="Set-Cookie" content="usable=1"> <script> if(document.cookie==""){ document.writeln('3秒後にセットアップページに移動します。'); document.writeln('移動しない場合は<a href="setup.html">こちら</a>をクリックしてください。'); setTimeout('location.href="setup.htm"',3000); } location.href="top.html"; </script>

N_moon
質問者

お礼

丁寧かつ迅速なお返事ありがとうございます。 まさにやりたかったことそのままの動作でした。 本当に助かりました。 いただいたスクリプトをよく見て、勉強したいと思います。 本当にありがとうございました。

関連するQ&A

  • JavaScript、Cookieの設定について

    あるサイトにログインするのに 1.「JavaScript(またはアクティブスクリプト)を有効にする」設定にしてください。 2.「Cookieを受け入れる」設定にしてください。 とあります。 このことを確認したいのですが、どこをどうすれば良いのか分かりません。 お教えください。 「設定」ー「コントロールパネル」ー「インターネットオプション」を見たのですが、分かりませんでした。 使用ブラウザはI.E5.5です。

  • JavaScriptによる(連続)自動判定

    index.htmlを表示する際に、以下のような条件分岐を行いたいです。JavaScript以外のプログラミング言語でも構いません。 条件1.Javascriptがオンであるか否かを自動で判定する。 結果1.オン:条件2に進む 結果1.オフ:警告表示をする。または、index.html以外の警告HTMLページを表示する。index.htmlは表示しない。 条件2.ブラウザがインターネットエクスプローラであるか否かを自動で判定する。 結果2.正:index.htmlを表示する。 結果2.否:警告表示をする。または、index.html以外の警告HTMLページを表示する。index.htmlは表示しない。 尚、私はJavaScriptに関して全く無知な状態です。HTML、CSSは一通り勉強済みです。その点を踏まえてご回答いただければ幸いです。 お手数ですが、ご回答いただきますよう宜しくお願い致します。

  • JavaScript または Cookie(クッキー)が利用できません、とは?

    いつもお世話になっております。あるサイトを見ようと思ったのですが、下のような文章が出てきて、見ることができませんでした。いったい、どのように設定を直せば見ることができるのでしょうか? 「JavaScriptを使用してよろしければ、JavaScriptを有効にして下さい。 また、Cookieを使用してよろしければ、ブラウザの設定のCookieの受け入れを可能にして、・・・」

  • Javascriptとcookieが表示されない

    はじめまして。 windowsXPでInternet Explorer6を使用していて 先日まで普通に表示されていたHPのJavascript部分が表示されなくなりました。 それでいろいろ検索してみて こちらのサイトにあるような方法をとってみました。 http://celsiorup.com/script/jc_check.htm IEの設定で ツール→インターネットオプションで いろいろサイトなどで紹介する方法を有効にしても表示されません。 それで上記のサイトにあるcookieの表示もされないので いろいろ設定したのですがこちらも表示されません。 IEだけではなく他のブラウザなら大丈夫なのかな?と思い Slepnirなどのブラウザも使用してみたのですが こちらでも表示されません。 こうなってしまった場合に 戻す方法ってご存知の方いらっしゃいませんか? お手数お掛けしますが 知ってられる方いらっしゃったらよろしくお願いします。

  • JavaScriptによるcookieの取得

    firefoxでネット巡回しています。 (A) HttpOnly属性が付与されていないcookieがパソコン内に保存されている時 悪意のあるサイトにjavascriptを仕組まれているとパソコン内のcookieを取得されるようなのですが、パソコン内に保存されているcookieの domain属性 path属性 secure属性 という3つの属性の内、1つでも悪意のあるサイトと一致しない場合は、悪意のあるサイトにjavascriptが仕組まれていてもパソコン内のcookie情報を取得できないのでしょうか? (B) HttpOnly属性が付与されているcookieがパソコン内に保存されている時、悪意のあるサイトがAjaxを使ってパソコン内のcookie情報を取得することが出来てしまうのでしょうか?

  • Cookieを設定しているかどうかの判断

    こんにちは。教えてください。 よくブラウザ上で、Cookieの設定がされていないと「Cookieを設定してください」とアナウンスする画面に飛ぶサイトを見かけますが(例えばMSNチャットのトップ画面など)、この判断はJavaScriptで出来るものなのでしょうか? もしJavaScriptで、Cookieの設定がなされているかどうかの判断が出来るのであれば、その方法を教えていただけないでしょうか。 もし出来なければ、出来ない旨教えていただければうれしいです。 環境は、NT4.0(SR6) IE4x以上で動くことを想定しています。

  • Cookieが分からない…。

    とあるサイトで配布されていたスクリプトを拝借して個人のWebサイトで使っているのですが、 デフォルトではセッションを終えるとCookieが消えてしまう仕組みになっています。 そこでCookieの有効期限の設定方法が分からず以前質問し、回答をいただいたことにより相対的な日付を設定することが出来ました。 …が、そのとき相対的な日付を指定する方法だけ教わって日付を絶対的に指定する方法を追加で質問し忘れました(バカ… うっかりしていてそのまま質問を締め切ってしまったのです^^; で、絶対的な日付設定を行う必要が出てくるのですが(当面は大丈夫だけど近いうちに必要となります…)設定をどうすればいいかがわかりません。 と言うかJavaScriptでCookieをいじる方法が全然と言うかほとんど分かってません(要勉強です…^^;) 何だかくだらないですけど、日付設定の方法をどなたか教えてくださいませんでしょうか?

  • jQueryでcookie 追加書き込み

    jQueryでcookieに追加書き込みをしたいのですが、どうやってもわかりません。 ここからクッキを追加書き込みを実現したいのですが、 どうやっても頭が回らず困って、混乱気味になっています。 誰か助けてください! おねがいいたします! <!DOCTYPE html> <html lang="jp"> <head> <meta charset="utf-8"> <script type="text/javascript" src="http://www.google.com/jsapi"></script> <script type="text/javascript">google.load("jquery", "1.7.1");</script> <script type="text/javascript" src="jquery.cookie.js"></script> <script type="text/javascript"> //入力された値をCookieに保持する function cookie(){ $.cookie("cookie", $("#cookieValue").val()); $("#result").html($.cookie("cookie")); } //現在のCookieの値を出力 $(function() { $("#result").html($.cookie("cookie")); }); </script> <title></title> </head> <body> <input id="cookieValue" type="input"> <a href="index.html" onclick="cookie()">クッキー</a> <p><span id="result"></span></p> </body> </html>

  • cookieを設定

    Webブラウザが情報を保存する機能としてcookieがありますが、 JavaScriptでcookieを設定する方法と、 CGIがHTTPヘッダに「Set-Cookie」を含めてcookieを設定する方法が あるかと思います。 JavaScriptとCGIで設定する2つの方法のそれぞれのメリットは なんでしょうか? つまり、 JavaScriptを利用してcookieを設定する場合、Webサーバがcookieに 対応していなくても問題ないという利点はあることは分かりましたが、 他にはないのでしょうか? CGIでHTTPヘッダにcookieを保存しておいた場合、うれしいことは 何でしょうか?

  • JavaScriptで決まった「時刻」にページを移動するには?

    JavaScriptで決まった「時刻」にページを移動するには? お世話になります。 JavaScriptを使い、こちらが決めた時刻に自動的に 指定したページに切り替わりようにすどのようにすれば良いのでしょうか? 例:20時45分に現在のページから「page02.html」に移動する。 <script language="JavaScript" type="text/javascript"> <!-- var time = 45; function setTimer(){ setTimeout("location.replace( './page02.html')", time * 60 * 1000); } //--> </script> 自分なりに「setTimeout」「location.replace」を使って作ってみました。 移動する動作はリアルタイムで見られて良いのですが、 この場合、ページを開いてから45分後に移動してしまう為 指定した時刻での移動とはなりません。 「setTimeout」を使うのが間違っているような気がしますが、 他にどのようなメソッドを使ってよいのか分からない状態です。 必要に迫られJavaScriptを勉強し始めたばかりで分からないことだらけで 途方に暮れております。 ご指導よろしくお願いします。

専門家に質問してみよう