dポイントプレゼントキャンペーン実施中!

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は一通り勉強済みです。その点を踏まえてご回答いただければ幸いです。

お手数ですが、ご回答いただきますよう宜しくお願い致します。

A 回答 (2件)

Javascriptが利用不可能である場合、そもそもJavascriptが


実行されませんから、代替となる表示を行うことになります。
---------------------------------------------
<script type="text/javascript">
<!--
alert("いらっしゃいませ。");
-->
</script>
<noscript>
当サイトの閲覧にはJavascript対応ブラウザが必要です。
</noscript>
---------------------------------------------

上記コードのように、<noscript>タグを使用することで、
<script>タグを実行できない環境で表示する部分を
仕込むことができます。
また、Javascriptに対応していない環境で<script>タグの
中身が表示されてしまうのを防ぐためにコメントで囲います。
(Javascript自体はコメントの有無に関係なく動作します。)

Javascript内では、以下のようなコードを記述することで
ブラウザを判別することができます。ただしユーザエージェントは
簡単に偽装が可能なので、本当にIEかの保障はありませんが。

----------------------------------------------------
if(navigator.userAgent.indexOf("MSIE") != -1)
{
// IEのときはこのコードを通る
}
else
{
// IE以外のときはこのコードを通る
}
-----------------------------------------------------

以下のコードは別ページにジャンプする機能です。
IEの場合だけジャンプしたい、という場面で使えますね。
上記のユーザエージェントと組み合わせて、携帯電話なら
携帯用ページに転送する、といった使い方もできます。

-----------------------------------------------------
document.location = "http://oshiete1.goo.ne.jp/";
-----------------------------------------------------

上記を組み合わせた一例を以下に示します。
-----------------------------------------------------
<script type="text/javascript">
<!--
if(navigator.userAgent.indexOf("MSIE") != -1)
{
// IEのときはこのコードを通る
document.location = "http://oshiete1.goo.ne.jp/";
}
else
{
// IE以外のときはこのコードを通る
alert("当サイトはInternet Explorer専用です。");
document.location = "http://google.ne.jp/";
}
-->
</script>
<noscript>
当サイトの閲覧にはJavascript対応ブラウザが必要です。
</noscript>
-----------------------------------------------------

Javascript非対応の場合:
→当サイトの閲覧にはJavascript対応ブラウザが必要です。
Javascript対応だがIEではない場合:
→当サイトはInternet Explorer専用です。のメッセージ表示。
→OKボタンを押した後にgoogleへジャンプ。
Javascript対応かつIEの場合:
→教えて!gooへジャンプ。

以上です。
    • good
    • 0
この回答へのお礼

とても丁寧なご回答をいただき、感謝しております。
本当にありがとうございます。

組み合わせの一例を添えてくださったおかげて、JavaScriptの初心者である私でも自サイトに実装することができそうです。
また、実際に一例をいじることで、学習意欲が向上すると思います。

今後とも宜しくお願い致します。

お礼日時:2009/02/25 00:13

条件1


HTMLが提供しているわ。
<noscript>を使うの。
index.html以外にしたければ
JavaScriptが利用可能な場合は
<script>でindex.htmlに飛ばせばいいわ。
JavaScriptが利用できなければ
<script>内のスクリプトが実行されないことを利用した手段ね。

条件2
index.htmlを表示しない方法を取る場合は
サーバサイドのアプリケーションで判定するか
最初に表示するページをindex.html意外にして
JavaScriptで飛ばすしかないわね。
index.htmlに警告表示するならJavaScriptでできるわよ。
判定式はインターネット上にサンプルが腐るほど転がっているから。


> 私はJavaScriptに関して全く無知な状態です
嫌よ。勉強しなさい。
自分で作ってみてそれでどうしてもわからなければ
いくらでも助けてあげるわ。
でも最初から全部教えてはあげない。
私はあなたの先生じゃないんだから。
    • good
    • 0
この回答へのお礼

ご回答いただき、有難うございます。
自分で考えることはとても大切なことですよね。
自学を基本姿勢として、今後もウェブアプリケーションの勉強を進めていきたいと思います。

お礼日時:2009/02/25 00:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!