• ベストアンサー

PC用のページに携帯からアクセスした場合メッセージを表示させたい

お世話になります。PC用のウェブページに、携帯からアクセスすると文字化けの表示がでてしまうため、携帯からアクセスした場合は、「このページはパソコンからご覧ください」のような一文を表示させるか、あるいは別ページに飛ばしたいと考えています。JavaScriptの追加で対応できれば、と思うのですが、可能でしたら、どのようなスクリプトを追加すればいいか、教えていただけませんでしょうか。1からわざわざ書いていただいたら申し訳ないので(もちろんそれは超うれしいですが)、参考になるようなページをご存知でしたら、教えていただけたらうれしく思います。

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

  • ベストアンサー
  • crosis
  • ベストアンサー率66% (14/21)
回答No.2

おだてても何もでませんよ。。。(嘘々) ソースを全部載せるのも教えてgooの規約とか何とかありそうなんだけど、、、まぁ、とりあえず書いたソース見て、勉強してくれればいいでしょ・・・ってな感じで出しときます。 ちょびっとJavaScriptの勉強をすればサクっと書ける程度のものなので、ちょっと自分で勉強してみて下さいな。 ------------------------------------------------------------ <?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="content-type" content="text/html; charset=Shift_JIS" /> <meta http-equiv="content-style-type" content="text/css" /> <meta http-equiv="content-script-type" content="text/javascript" /> <title>テスト</title> <script type="text/javascript"> <!-- function AccessOnPC(){ //bool var BR_OP = window.opera; var BR_N6 = document.getElementById; var BR_IE = document.all; var BR_N4 = document.layers; if (BR_OP || BR_IE || BR_N6 || BR_N4) { return (true); } else { return (false); } } --> </script> </head> <body> <span style="display:block;" id="PCONLY">携帯からはダメポ</span> <script type="text/javascript"> <!-- if (AccessOnPC() == true) { document.getElementById('PCONLY').style.display = 'none'; } --> </script> </body> </html> ------------------------------------------------------------ とりあえず私の古~ぃ携帯ではちゃんと表示されました。PCでは表示されず。けどJavaScriptの実行不許可にするとやっぱPCでも表示されちゃいますが、、、 ちょっとした説明すると、 head間の<script>~</script>でブラウザ判別してます。Opera、IE、ネスケ6, &4ならPCと判別して、trueを返します。 で、 <span style="display:block;" id="PCONLY">携帯からはダメポ</span> 以降の <script>~で、先のJavaScriptを実行して、trueだったら、 <span style="display:block;" id="PCONLY">携帯からはダメポ</span> を表示させなくしてます。 説明はそれくらいで、、、 これは全ての環境で動くという保証はないので、、、携帯用ブラウザにもOperaとか出来てるし。。。。

Suishoku
質問者

お礼

わざわざ本当に ご親切に ありがとうございます。 私は1からJSとかプログラムかけないので(HTMLくらい) 出来る方が本当にすごいなと 心から尊敬します。 そしてうらやましくなりますー ちょっと試しに使わせていただきたいと 思います。 ご親切に、感謝しております。 ありがとうございました!! (同じかたへの「良回答」2つつけられないので、「次点」は該当無しにしなければいけないシステムみたいです。。。crosisさんに全ポイントおつけしたかったのですが ごめんなさい)

その他の回答 (1)

  • crosis
  • ベストアンサー率66% (14/21)
回答No.1

携帯でJavaScriptって動いてくれるのかどうか知らないので(私のはもう良い年数使ってるのできっと動かない。最新のとかフルブラウザ搭載のは動くのかも・・・)、常に 「携帯からは表示できません」 てなメッセージを表示させておいて、PCからアクセスがあった場合は、そのメッセージを消す風にした方が楽なんじゃないかな??とか思ってみたりしました。 無論、この場合、PCからのアクセス者がJavaScriptの実行を不許可にしてる場合、その文字が見えてしまうことになりますが・・・ PCからのアクセスの場合、PC特有の情報を引っ張って(OSとかブラウザとか)、PCであった場合、文字を消してしまえば、、、 ブラウザなら、InternetExplorer,Netscape, Firefox, Opera、これらをおさえれば95%のアクセスは判別できるだろから、、 今、適当にソース書き上げたんですけど、テストするのがタルゐんで、、、第一、この方法は質問者さんとは違う考えの基に行っているので、こんな方法でもいいのでしたら、適当に書いたソースを提示くらいはしますが、、、

Suishoku
質問者

お礼

をを! 逆転の発想ですね! その方法もありなのかも。 しかも即興でプログラミングしてしまうなんて 正直尊敬します!! もしご提示いただけたら うれしいです。

関連するQ&A

専門家に質問してみよう