• 締切済み

PC(win/mac)と携帯を判別し、それぞれ違うindexを読み込ませるのはJavascript?CGI?PHP?

【現在の状況】 [1]index.html(TOPページ内)にiframeがあり、その中で子ファイル(コンテンツページ)を表示するHPを作成。 ※<iframe>タグ内のscrolling=noと指定しています。 (スクロールは子ファイル内で下記のように指定しています。) [2]スクロールバーをcssとJavascriptを使ってカスタマイズし、すべての子ファイル内でそのスクロールバーが表示されるようにしています。(スクロールは縦のみ、横は非表示) ※<link href="../css/scroll.css" rel="stylesheet" type="text/css" />  <script type="text/javascript" src="scroll.js"></script>という感じです。 その結果、カスタムスクロールバーの表示は、 WindiwsはFirefox2.0○、IE6/IE7○、Opera9○、Netscape7○。 MacはFirefox2.0○、IE×、Safari×となりました。 両方とももちろんデフォルトもカスタムもスクロールバーは出ておらず、 Safariは子ファイルのテキストをドラッグすると下の方を見ることはできたのですが、IEは無反応でした。 【質問】 この状況を回避しするのにindex.htmlを2つ作って、一つは現状のまま、 もうひとつは<iframe>タグ内のscrollong=yesにし、scroll.jsもscroll.cssも指定していないindex2.htmlに飛ばして、プラットフォームデフォルトのスクロールで表示したいんです。 単純にWinとMacで分けたらいいのかもしれませんが、Mac版Firefoxではカスタムスクロールが表示可能なので、 MacのFirefoxのばあいはindex.htmlに飛ばしたいんです。 そして、さらに携帯でアクセスした場合、携帯用の/mobile/index.htmlに飛ばしたいのですが、 この場合、プラットフォームの判別?(Win/Mac/携帯)後、ブラウザの判別をしないといけないと思うのですが、 素人ながら、丸3日かけて本やgoogle等で調べて、Javascriptを書いて試してみたりしたんですが、 上記条件を満たす答えがわかりません。(そもそもの書き方が間違っているのかもしれません。) もしかしたら、CGIとかPHPじゃないとできないんでしょうか? お願いいたします! WindowsとMac/Firefoxの場合はindex.html、Macのその他ブラウザはindex2.html、 携帯からはmobile/index.htmlに飛ばす方法を どなたか教えていただけませんか?

みんなの回答

  • borazu
  • ベストアンサー率53% (8/15)
回答No.1

携帯電話からのアクセス振り分けについては、.htaccessファイルを使用したらいいかと思います。

参考URL:
http://blog.n-two.jp/?eid=626802
moment07
質問者

お礼

すいません!出来ました! 携帯からのアクセスを、mobile/index.htmlにちゃんと飛ばせました! 先程はメモ帳で作成したんですが、.textに保存する際の文字コードがおかしかったみたいです。 試しにDreamweaverで同じようにして、.textで保存し、手順を踏んだら出来ました! 参考になるご意見とURL、本っ当にありがとうございました!!

moment07
質問者

補足

borazuさん、ご回答ありがとうございます。 参考URLにとても解りやすく書いてあったので、試していました。 お返事が遅くなってしまい、申し訳ありません。 偶然?参考ページと同構成で、同フォルダ名だったので、同じ文章をテキストで保存し、指示通りにやってみたのですが、 携帯、PCともにページが表示されなくなってしまいました。 サーバー自体はphpの使用は×でしたが。.htaccessは使用できるみたいなんですが・・・。

関連するQ&A