• ベストアンサー

JavaScript で条件分岐。

JavaScriptで条件分岐後、win⇒WMPでmac⇒QTでそれぞれアニメーションを再生したいです。 方法をご存知の方、教えていただけませんか?

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

  • ベストアンサー
  • kube
  • ベストアンサー率30% (49/159)
回答No.4

#3です なんかもう全部作ってしまいましたが(^^;  もしかするとJavaScriptを使うのはこれが初めてですか?  でしたらやはり一応その関連の書籍は読んでおいた方が良いですよ。  技術評論社の書籍がお薦めですので、入手して読んでみて下さい。 ソースは以下のようになります。 更なる応用はご自分でやりましょう。勉強になりますよ。 <html> <body> <script language="JavaScript"> <!-- function OShantei(){ if(navigator.platform.indexOf("Mac") >= 0){ location.href = "mac.htm";OS = "Mac"; }else{ if(navigator.platform.indexOf("Win") >= 0){ location.href = "win.htm";OS = "Win"; }else{ if(navigator.platform.indexOf("X11") >= 0){ location.href = "unix.htm";OS = "UNIX"; }else{ location.href = "etc.htm";OS = "etc"; }//if~else end }//if~else end }//if~else end }//end //--> </script> <a href="JavaScript:OShantei()">跳べ!オーエス!</a> </body> </html>

参考URL:
http://www.gihyo.co.jp/books/subgenre.php?id=6090
aibou
質問者

お礼

お礼が遅くなりまして申し訳ありません。 ソースありがとうございました。 OSは、MACとWIN2つのOSの分岐のみでしたので、以下のように少しだけ書き換えて使わせていただきました。 ありがとうございました。 いままで切り貼りのJavascriptしかやったことなかったので、大変勉強になりました。 いただいたURLの本を買って、勉強します。 実際に動くと、楽しいですね。ありがとうございました。 <html> <head> <script language="JavaScript"> <!-- function OShantei(){ if(navigator.platform.indexOf("Mac") >= 0){ location.href = "mac.htm";OS = "Mac"; }else{ if(navigator.platform.indexOf("Win") >= 0){ location.href = "win.htm";OS = "Win"; }else{ location.href = "etc.htm";OS = "etc"; }//if~else end }//if~else end }//end //--> </script> </head> <body bgcolor="#FFFFFF" text="#000000" onLoad="OShantei();"> </body> </html>

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • kube
  • ベストアンサー率30% (49/159)
回答No.3

 私が以前作ったOS別改行コードの設定用ソースがあるので参考にして下さい。 以下の「cr=""」の部分に処理を入れるか、OSをあとで判定してそのOSごとのページにジャンプさせれば可能だと思います。  あとは自力でお願いします(笑)。  頑張ってください。 // //以下はOSの判定+改行コードの設定です。 // function OShantei(){ if(navigator.platform.indexOf("Mac") >= 0){ cr = "\r";OS = "Mac"; }else{ if(navigator.platform.indexOf("Win") >= 0){ cr = "\n";OS = "Win"; }else{ if(navigator.platform.indexOf("X11") >= 0){ cr = "\n";OS = "UNIX"; }else{ cr = "\n";OS = "etc"; }//if~else end }//if~else end }//if~else end }//end

aibou
質問者

お礼

ソースありがとうございます。 ひとまず条件分岐でOSを認識させ、そのケージにとばすソースを作っていますが、うまくいきません。 以下のソースです。 <script language="JavaScript"> <!-- function OShantei(){ if(navigator.platform.indexOf("Mac") >= 0){ cr = "\r";OS = "Mac"; document.write("to top".link("mac.htm")); }else{ if(navigator.platform.indexOf("Win") >= 0){ cr = "\n";OS = "Win"; document.write("to top".link("win.htm")); }//if~else end }//if~else end }//end //--> </script> 表示してもmac、win各々のページへはとびません。 補足をお願いできますでしょうか? 重ねがさね申し訳ありません。

全文を見る
すると、全ての回答が全文表示されます。
noname#25358
noname#25358
回答No.2

 JavaScript では、"navigator.platform" で実行されているマシンの情報が取得できます。  マッキントッシュだと、ここに最低でも "Mac" という文字列が含まれています。  それを利用して、マッキントッシュなら .rm を、そうでなければ .avi を再生するようにすればいいのです。  ただ、僭越ながらこの仕様の欠点をしてきさせてもらうと、俺が仮に aibou さんのサイトの利用者なら、ちょっと眉をひそめてしまうと思います。  利用者側の都合で、たまたま .avi ファイルを巧くダウンロードできないような不具合が起こっていたとすると、せっかく .rm ファイルがあるのに、それを永久に見れないことになってしまうからです。

aibou
質問者

お礼

ご回答ありがとうございました。 ファイルダウンロードの件ですが、今回はwebサイトではないため、必要ないようです。 説明が少なくてすみません。 早速やってみています。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • uratan
  • ベストアンサー率30% (38/124)
回答No.1

まずはJavaScriptで環境チェックをすれば分岐できると思いますよ。 あと、ブラウザチェックとかも必要ですね。 種類とバージョンかな。 今すぐコードは思い浮かびませんが…。

aibou
質問者

お礼

早々のご回答ありがとうございました。 ブラウザはIEのみが対象なのでブラウザチェックは必要ないそうです。 早速やってみています。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 条件分岐で、読み込む外部スクリプトを切り替えることは可能でしょうか?

    外部化したjavascriptを用いるのですが、 条件分岐によってどの外部スクリプトを読み込むかを切り替えることは可能でしょうか? そういった表記方法は見たことが無いのですが・・・

  • javascript関数の戻り値でphpの条件分岐

    こんばんは。 またまたプログラミングで詰まってしまいました・・・。 <?php    echo "<script> funcJS(); </script>"; //javascriptの関数。戻り値true/false    if(funcJS()の戻り値がtrueかどうか){       <~phpの処理~>     } ?> のようなプログラムがあったとして、funcJS()の戻り値の値によって、『phpの処理』を行うかどうかを決定したいのですがそのアルゴリズムが思いつきません。 色々と試行錯誤はやってみて、 (1)phpの変数にfuncJS()の戻り値を格納して、if文で条件分岐  $value = "<script> funcJS(); </script>";   しかし、これは$valueに戻り値を入れることができませんでした。 (2)javascript変数に戻り値を格納して、javascript内のif文で条件分岐 <?php    echo "<script> var value=funcJS(); </script>"; //javascriptの関数。戻り値true/false    echo "<script> if(value == 'true'){ </script>";       <~phpの処理~>    echo "<script> } </script>"; ?>  これも"}"がないと怒られてしまいました。 自分で思いつく限りは試してみたのですが、他に方法が思い浮かばず頭を抱えている状態です。 何か良い方法を知っている方、思いついた方、よろしくお願いします。

  • 【JS】htmlの特定要素内で条件分岐を行いたい

    form等の特定のhtml要素を、同じページ内に複数設置する際、それぞれの挙動をJavaScriptによって管理したいと思っています。そのための条件分岐がJavaScriptで実現できるなら、たとえばどのような方法でそれが行えるのか教えていただけませんか。 よろしくお願いします。

  • ブラウザを調べて分岐させる方法

    こんにちは。 Javascriptでユーザーの閲覧環境(OS、ブラウザ)によって 違うページを見せたいんです。 Win・Macの違いについては <script language="JavaScript"> var ua = navigator.userAgent if( ua.indexOf("Mac") != -1 ){ location.href = 'mac_home.html' } else { location.href = 'win_home.html' } </script> で解決したのですが、IE、NNでの分岐のかけ方がわかりません。 同じような方法でできるらしいのですが、何度やっても失敗してしまって、 NNで閲覧しているのに、elesで指定したURLにジャンプしてしまったりします。 どなたかわかる方がいらっしゃいましたら教えてください。 お願いします。

  • HTMLで条件分岐はできますか?

    HTML初心者です。今、HPを作成しています。 トップページでその日の日付(出来れば時間も)を表示させたいと思って色々調べています。 JavaScriptを使って、文字列として表示させるやり方は分かったのですが、見た目的にあまり可愛くないなぁと思って、質問させていただきました。 0~9の画像を用意して、それぞれ当てはめれたらいいなぁと思っています。 JavaScriptで取得した日付の数字を元に、表示させる画像を変えようと思うのですが、HTMLでそういった条件分岐をすることは出来るのでしょうか?

  • WMPでMOVファイルを再生するには?MPEG変換?それとも?

    タイトルのとおりです MOVファイルをWMPで再生させたいのですが、 どうしたらいいでしょうか? MOVファイルはQTが再生プレイヤーですが、 WMPで再生させたいのです。 また、MOVファイルの統合方法や MPEGへ変換方法を ご存じの方がいらっしゃいましたら 教えてください。

  • JavaScriptアニメーション

    JavaScriptでアニメーションがありますが、画像の再生速度を観覧者が変更出来るようにするにはどうすればいいですか?困っています宜しくお願いします。

  • JavaSciprtでの条件分岐

    いつもお世話になっております。 JavaScriptでの条件分岐で実装したいことがあるのですが解らず悩んでおります。どなたかお知恵を拝借ください。 現在、HTML内に以下の要素があります。 ・サイト内(同一ドメイン)にあるページへのテキストリンク  例) <a href="page2.html">PAGE2</a> ・SSL領域(別ドメイン+HTTPS)にあるページへのテキストリンク  例) <a href="https://secure.jp/~user/form.html">お問い合わせ</a> ・サイト内(同一ドメイン)にあるPDFファイルへのテキストリンク  例) <a href="example.pdf">サンプル資料</a> ・他のサイトへのテキストリンク  例) <a href="http://www.yahoo.co.jp/">Yahoo! Japan</a> 本題の実現したいことですが、上記の状態のリンク先をJavaScriptを用いて条件分岐させたうえで、jQueryによるonclickイベントを自動的に付与したいと思っています。 こちらの都合で申し訳ないのですが、JavaScriptをHTML上に直接記載する必要があるため、できる限り簡潔なソースで実現できれば尚助かります。 何卒よろしくお願い申し上げます。

  • 条件分岐によるページ移動

    超簡単な質問で申し訳ないですが、宜しくお願いします。ネット上をいろいろ検索したのですが、わからず、ご質問させてください。 CGIで、 条件Aのときは「A.HTML」 条件Bのときは「B.HTML」 条件Cのときは「C.HTML」 というように条件分岐によるページ移動をしたいのです。 条件分岐の記述はわかるんですが、ページ移動の記述の方法がわからず悩んでおります。 宜しくお願いいたします。

    • ベストアンサー
    • CGI
  • 条件分岐の書き方・・・

    まだプログラミングをはじめて間もない者です。 私は、単純な条件によって処理を分岐させる場合、 たとえば、 if (!empty($hogehoge)): //処理 endif; と書かないで if (empty($hogehoge)): return; endif; //処理 のように、条件に当てはまらない場合、先に返してしまい、 その後に処理を書くようにしています。 理由は、入れ子がどんどん複雑になってしまうのをさけるためなのですが、 熟練したプログラマーの方から見て、 このようなコーディングはどうなのでしょうか? ぜひご指導お願いします。

    • ベストアンサー
    • PHP