条件の分岐

[上に] [前に] [次に]
なべしん 1998/10/29(木) 17:28:13
こんんちは

Javascriptがブラウザによってで使えない場合の
分岐というものについて(if...)
くわしく勉強できるページのurlを教えていただけませんか?

みんこ [HomePage] 1998/10/30(金) 12:04:27
分岐、というのは
ブラウザのバージョンチェックのことでしょうか。

if文だからそれでいいかなあ。

このページはどうでしょう。

しなのむし 1998/11/03(火) 08:39:12
JavaScriptが使えなくてifと言うと
なにか他のScriptでのifになるのかなー?
以下の様なことではだめですか?

<NOSCRIPT>
当サイトは全文 JavaScript で書かれております。<BR>
申し訳ありませんが未対応の方はただちにお帰りください。<BR>
Sorry, JavaScript only !
</NOSCRIPT>

<SCRIPT LANGUAGE="JavaScript">
<!--
document.write("当サイトはこの文の表示以外には一切 JavaScript を使用しておりません。<BR>どなたでも安心してご覧になれます。");
// -->
</SCRIPT>

とーりすがーり [E-Mail] [HomePage] 1998/11/03(火) 10:05:07
こういう事ですか?

<script language="JavaScript"><!--
    if(navigator.appVersion.charAt(0) == 4 && navigator.appName.charAt(0) == "M") {
    }
    else if(navigator.appVersion.charAt(0) == 4 && navigator.appName.charAt(0) == "N") {
      location.href = "index2.html";
    }
    else {
        location.href="index3.html";
    }
//-->

なべしん 1998/11/04(水) 20:32:20
しばらく留守にしていたらご迷惑をおかけしました
ちゃんとした聞き方しないものだから...
ええとお聞きしたかったのはですね、
ブラウザ(といってもほとんどIE3.xx)のエラー表示を回避するために
if構文というものがいろいろ存在するのはなんとな〜く
わかるのですが、そのページにふくまれるJavascriptの内容によって
そのif構文が変わるのなら、いろいろなサンプルが勉強できる
サイトはないかな〜というようなことでした。
だから、例えばあるページに含まれるJavascriptが
『「マウスを乗せると画像が変わる」だったら、IE3.xxの人は
変わらないでデフォルトのまま』という指示?を出すif構文とか、
指示内容(生成結果?って言うんですか?)によって
いろんなif構文があるの? という質問なんですが。。。

やはり質問内容はわかりずらいかしら???

とーりすがーり [E-Mail] [HomePage] 1998/11/04(水) 23:08:22
って言うか、
なべしんさんがどれくらいJavaScriptのことを解っているか
が、問題になると思います。
さらにHTMLの理解度も問題になってきます。
全く0から始める場合にはやはり書籍を購入して勉強する方が、
らくだと思います。
http://www.yahoo.co.jp/Computers_and_Internet/Programming_Languages/JavaScript/
ここに色々な初心者向けだとか、サンプル集だとかあります。

色々なサイトを巡った経験からいいますと、
それほど親切なWebは殆ど見かけられません。
だから「HTMLが解らない」とか「JavaScriptの構文の組み方が解らない」、「イベントとかメソッドって何?」
だとか具体的な事を行っていただけると、
ここがいいよって事が言いやすいのだと思います。

http://www2f.biglobe.ne.jp/~takan/javac/
http://www.shiojiri.ne.jp/~openspc/JavaScript/lib_/index.htm

いくらかJavaScriptに理解があるのなら上記のサイトが宜しいかと思います。

>例えばあるページに含まれるJavascriptが
>『「マウスを乗せると画像が変わる」だったら、IE3.xxの人は
>変わらないでデフォルトのまま』という指示?を出すif構文とか、

例えば、

if(navigator.appVersion.charAt(0) == 4 && navigator.appName.charAt(0) == "M") {
}
else if(navigator.appVersion.charAt(0) == 4 && navigator.appName.charAt(0) == "N") {
location.href = "index2.html";
}
else {
location.href="index3.html";
}

ですと、
もし、(ブラウザのバージョンの最初の文字(4.01だったら4)が
4だったら、
且つ、ブラウザの名前(Codenameではない)の最初の文字がMだったら)=<IE4だったら>
{そのまま。}
それ以外だったら
もし、(ブラウザのバージョンの最初の文字が
4だったら、
且つ、ブラウザの名前の最初の文字がNだったら)=<Navigator4だったら>
{index2.htmlを表示する。}
(更に)それ以外だったら{index3.htmlを表示する。}

と言う事です。
JavaScriptのバージョンによって分岐させる必要性(ブラウザのバージョン)も変わる訳ですから、
noscript(HTML)タグで事足りる事も有る事でしょうし、
appVersion(JavaS)だけで事足りる事も有る事でしょう。

何かを表示させたいのなら、
location.hrefという場所を指定する命令を
document.writeで文章を表示させてもいいのです。

>指示内容(生成結果?って言うんですか?)によって
>いろんなif構文があるの? という質問なんですが。。。

ですから、自分がやりたい事によって、構文も変わってきますし、
書く人によっても多少変わってくるものです。

だからこうしなさいと言うものはないのです。
自分で構文を書いて見るのが一番勉強になると思います。

幸いサンプルを集めたサイトは多くありますので、
そこのスクリプトを拾ってきて、自分のHTMLに組み込んでみる事です。

拾ってきたサンプルは英語の文章だと思ってください。
それを、
とほほのJavaScript入門
http://www.tohoho-web.com/js/index.htm
とほほのHTMLリファレンス
http://www.tohoho-web.com/html/index.htm
という、いわば辞書で意味を調べてみる事です。

後はブラウザで表示してみてデバッグしてみましょう。
何行目の何文字目がおかしいだとか、
これは間違っているよ、
とか教えてくれます。

何回も失敗しては調べ直す事が理解への近道だと思います。

乱文、長文で申し訳ありませんでした。


みんこ [HomePage] 1998/11/05(木) 09:29:53
関係ないのかも知れませんが、
>『「マウスを乗せると画像が変わる」だったら、IE3.xxの人は
変わらないでデフォルトのまま』

この書き方ならIE3.0(Mac)でも表示できますよ。
<A HREF="#" onMouseOver="document.**.src='***.gif'; return false;" onMouseOut="document.**.src='***.gif'; return false;">
但し、マウスをのっけてから読み込みに入るので少し時間がかかりますが。

スクリプト無視されても通用するページならこれでもいいのかも。
window.onerror=null;
スクリプトの組み合わせと見る側の環境の組み合わせで
見られる/見られないのパターンは山ほどあるです。
ひとつづつ潰して行くしかないです。
(まあ、ありがちなサンプルなら既存のスクリプト利用する手も
ありますが)

[上に] [前に] [次に]