この人頭いいなと思ったエピソード

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

A 回答 (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-transitio …
<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とか出来てるし。。。。
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/04/23 12:48

携帯でJavaScriptって動いてくれるのかどうか知らないので(私のはもう良い年数使ってるのできっと動かない。

最新のとかフルブラウザ搭載のは動くのかも・・・)、常に
「携帯からは表示できません」
てなメッセージを表示させておいて、PCからアクセスがあった場合は、そのメッセージを消す風にした方が楽なんじゃないかな??とか思ってみたりしました。

無論、この場合、PCからのアクセス者がJavaScriptの実行を不許可にしてる場合、その文字が見えてしまうことになりますが・・・

PCからのアクセスの場合、PC特有の情報を引っ張って(OSとかブラウザとか)、PCであった場合、文字を消してしまえば、、、
ブラウザなら、InternetExplorer,Netscape, Firefox, Opera、これらをおさえれば95%のアクセスは判別できるだろから、、

今、適当にソース書き上げたんですけど、テストするのがタルゐんで、、、第一、この方法は質問者さんとは違う考えの基に行っているので、こんな方法でもいいのでしたら、適当に書いたソースを提示くらいはしますが、、、
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/03/23 13:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!