• ベストアンサー

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