• ベストアンサー

macかwinか判別しスタイルシートを振り分けたい

こんにちは。 macかwinか判別して外部スタイルシートの読み込みを振り分けたいのですが、(mac.cssかwin.css)ご存知の方教えてください。 トップページはフレームになっていて、各コンテンツのページの文章をスタイルシートで設定しています。 この場合はスクリプトは各コンテンツのページにそれぞれ記述するのでしょうか? いろいろ調べましたが、ブラウザ別ばかりだったので・・・。 javascriptは初心者です・・。 どうぞよろしくお願いいたします。

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

  • ベストアンサー
  • peron
  • ベストアンサー率45% (43/95)
回答No.3

<HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Script-Type" content="text/javascript"> <META http-equiv="Content-Style-Type" content="text/css"> <TITLE>JavaScript</TITLE> <LINK href="win.css"; TITLE="win" TYPE="text/css" REL="stylesheet"> <LINK href="mac.css"; TITLE="mac" TYPE="text/css" REL="stylesheet"> <LINK href="nor.css"; TITLE="nor" TYPE="text/css" REL="stylesheet"> <SCRIPT type="text/javascript"> <!-- var st = document.styleSheets; var accP = navigator.userAgent.toUpperCase(); if(accP.indexOf("WIN") >= 0) accName ="win"; else if(accP.indexOf("MAC") >= 0) accName ="mac"; else accName ="nor"; if(st){ for (var i = 0; i < st.length; i++){ if(accName && (st[i].title == accName || st[i].title == "")) st[i].disabled = false; else st[i].disabled = true} } //--> </SCRIPT> </HEAD> <BODY> HTML本文 </BODY> </HTML> 上記スクリプトをそのままコピペしてください HTML本文のところを簡単なタグ付きにしてください 同じディレクトリに外部スタイルシート win.css mac.css nor.css と3種類作って保存してください 実行すれば それぞれのOSに対してスタイルシートが読み込まれます ただし、NN4の場合は動作しませんがエラーにはならず、最後のスタイルシートnor.cssが反映されます この場合OSの判別は出来ません (単純に最後に読み込まれたスタイルシートが反映されます) また、その他のOSの場合もnor.cssが反映されると思います 私、Win系ですのでMacでの動作確認はしておりません Winでの動作確認は、NN4、NN7、IE6です ただ、この方法は万能ではありませんので、本当はそれぞれのOSに対応したページを作られて分岐した方がダサイやりかたですが確実です スクリプトは各ページに必要です こんなところでいかがでしょうか

vaiooooo
質問者

お礼

あ、、ありがとうございます!!! 本当にありがとうございます!! 今日もいろいろスクリプトを探し回っていたのですが、 どこをどう変えるのかもよくわからなくて悩んでいたところです・・・。 そしてふと、winやmac以外のOSだったらどうなるんだろ・・・と思ったりしてました・・。 至れり尽くせりではないですか! 本当にありがとうございました。 感謝します。ありがとうございました!!

その他の回答 (2)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

navigator.appVersion で、使用OSの情報が含まれていると思いますので、 これを使えばいいと思います。

vaiooooo
質問者

お礼

ありがとうございました。 もうすこし勉強してみます・・。

  • t-d-s
  • ベストアンサー率23% (49/213)
回答No.1
vaiooooo
質問者

お礼

ありがとうございました。 もうすこし勉強してみます・・。

関連するQ&A