• 締切済み

HTMLで携帯とPCを判別する方法は?

はじめまして。HTMLの新米です。 さっそく教えていただきたいのですが。 HPのトップページ上で携帯(Mobail)で開いたら携帯用の表示ページHTML、PCで開いたらPC用の表示ページHTMLへ自動的に移動するようにしたいのですが可能でしょうか? 参考書を見ていたら、”JavaScriptでブラウザの判別”というのがあったので、ヒョッとしたら使えるかなと思ったのですが、うまくいきませんでした。 <html lang="ja"> <head> <meta http-equiv="content-type" content="text/html; charset=Shift_JIS"> <title></title> <script language="JavaScript"> <!-- an = navigator.appName; if (an.indexOf('Microsoft') < 0) window.open('mobail.html','new','toolbar=0'); else window.open('pc.html','new','toolbar=0'); //--> </script> </head> </html> よろしくお願いします。

みんなの回答

noname#252164
noname#252164
回答No.2

Javaスクリプトで判別するのは携帯電話とJAVAスクリプトを殺しているブラウザの区別ができません。(携帯にはJavaスクリプトはありませんので) 普通はHTTPリクエストで送られてくるUserAgentで判別するんですが、それをするとWebサーバ側に手を入れる必要が出てきます。

kakasimaru
質問者

お礼

takkey-Tさん。 不可能という事であきらめました。 一般的な閲覧者に選択してもらう方法をとります。 ありがとうございました。

  • necomimi
  • ベストアンサー率41% (633/1540)
回答No.1

取り出すなら.userAgent じゃないですかね。 appNameだとMacや他のOSの場合困りますよね

kakasimaru
質問者

お礼

necomimiさん。 早速やってみましたけど、状況は変わりませんでした。 ありがとございました。

関連するQ&A

  • HTMLにWSHを組み込む

    HTMLにWSHのコードを書く事は可能ですか? たとえば、ページ開くとNotePad.EXEが起動するようにしたいのですが 以下のような書き方をすると WScriptが宣言されていません。 とエラーになります。 <HTML> <HEAD> <TITLE>起動のテスト</TITLE> </HEAD> <meta http-equiv="Content-Script-Type" content="text/JavaScript"> <BODY> <SCRIPT LANGUAGE="JavaScript"> var title = "メモ帳"; var wsh = WScript.CreateObject("WScript.Shell"); wsh.Run( "NotePad.EXE" ); </SCRIPT> </BODY> </HTML> いい案がある方教えてください。

    • ベストアンサー
    • HTML
  • javascriptでのエラーについて

    Windows7+IE8にて以下の処理を行いたいのですが、 ================================================== (1) 親ウィンドウ(oya_window.html)から、【window.open】にて   子ウィンドウ(ko_window.html)を開く (2) 子ウィンドウ(ko_window.html)の【window.opener】にて   親ウィンドウ(oya_window.html)に定義されている   【window.open】を実行する関数[openWindow]を呼び出し、   Yahooページを開く ================================================== (2)の部分で以下のエラーとなり、Yahooページを開く事ができません。 --------------------------------------------------------- このWebページのエラーにより、正しく機能しない場合があります。 --------------------------------------------------------- タグが無効です。 oya_window.html   ライン:10 コード:0      文字:5 --------------------------------------------------------- 同マシン(Windows7)のfirefoxでは問題なく処理が行えるため、IEの 何らかの設定に起因していると思うのですが、IEの何の設定に起因して いるのかわからず、困っています。 何か情報をお持ちの方いらっしゃいましたら、よろしくお願いします。 【その他情報】 ○IEをアドオンなしで起動しても同エラーが発生することから、IEの  アドオンによる影響ではないと思われます。 ○以下の処理は問題なく実行できます。  ▼パターンA  ==================================================  (1) 親ウィンドウ(oya_window2.html)から、【window.open】にて    子ウィンドウ(ko_window2.html)を開く  (2) 子ウィンドウ(ko_window2.html)にて(元々親ウィンドウ    (oya_window.html)に定義していた)【window.open】を実行する    関数[openWindow]を呼び出し、Yahooページを開く  ==================================================  ▼パターンB  ==================================================  (1) 親ウィンドウ(oya_window3.html)から、【window.open】にて    子ウィンドウ(ko_window3.html)を開く  (2) 子ウィンドウ(ko_window3.html)の【window.opener】にて    親ウィンドウ(oya_window.html)に定義されている    【document.bgColor】を実行する関数[changeColor]を呼び出し    親ウィンドウの背景色を灰色に変更する  ================================================== 【ソース】 ▼本来のパターン ==親ウィンドウ(oya_window.html)=================== <HTML> <HEAD> <TITLE>親ウィンドウ </TITLE> <script language="Javascript"> function koopen(){ window.open("ko_window.html","ko_window","status=yes,width=800,height=100"); } function openWindow(){ window.open("http://yahoo.co.jp","",""); } </script> </HEAD> <BODY> <a href="JavaScript:koopen();">子ウインドウを開く</a> </BODY> </HTML> ================================================== ==子ウィンドウ(ko_window.html)=================== <HTML> <HEAD> <TITLE>子ウィンドウ </TITLE> <script language="Javascript"> function helpop(){ window.opener.openWindow(); } </script> </HEAD> <BODY> <a href = "JavaScript:helpop();">Yahooページを開く</a> </BODY> </HTML> ================================================== ▼パターンA ==親ウィンドウ(oya_window2.html)=================== <HTML> <HEAD> <TITLE>親ウィンドウ </TITLE> <script language="Javascript"> function koopen(){ window.open("ko_window2.html","ko_window","status=yes,width=800,height=100"); } </script> </HEAD> <BODY> <a href="JavaScript:koopen();">子ウインドウを開く</a> </BODY> </HTML> ================================================== ==子ウィンドウ(ko_window2.html)=================== <HTML> <HEAD> <TITLE>子ウィンドウ </TITLE> <script language="Javascript"> function helpop(){ window.opener.window.open("http://yahoo.co.jp","",""); } </script> </HEAD> <BODY> <a href = "JavaScript:helpop();">Yahooページを開く</a> </BODY> </HTML> ================================================== ▼パターンB ==親ウィンドウ(oya_window3.html)=================== <HTML> <HEAD> <TITLE>親ウィンドウ </TITLE> <script language="Javascript"> function koopen(){ window.open("ko_window3.html","ko_window","status=yes,width=800,height=100"); } function changeColor(){ document.bgColor="CCCCCC"; } </script> </HEAD> <BODY> <a href="JavaScript:koopen();">子ウインドウを開く</a> </BODY> </HTML> ================================================== ==子ウィンドウ(ko_window3.html)=================== <HTML> <HEAD> <TITLE>子ウィンドウ </TITLE> <script language="Javascript"> function helpop(){ window.opener.changeColor(); } </script> </HEAD> <BODY> <a href = "JavaScript:helpop();">親ウィンドウの色を変える</a> </BODY> </HTML> ==================================================

  • HTML中のJavaScript読み込みエラー

    技術者ではなく使用者の立場ですが、こちらで質問させて頂きます。 あるサイトの特定ページを読み込んでリンクをクリックしても、 リンク先のページに飛ばなくなりました。(ある日突然・・) 2台のパソコンで同じページを読み込んでHTMLをソース表示で 比べてみたところ、<HEAD>のJavaScriptのリンク先の記述が 読み込まれていなくて、 <script language="JavaScript"> <!-- function SymError() { return true; } window.onerror = SymError; var SymRealWinOpen = window.open; function SymWinOpen(url, name, attributes) { return (new Object()); } window.open = SymWinOpen; //--> </script> サイト管理者に確認してブラウザ(IE6.0SP2)の設定も リセットして見ましたが結果は同じでした。 考えられる原因と対処方法を教えてください。

  • ページを表示すると同時に複数のサブウィンドウを開く方法について

    ページを表示すると同時に複数のサブウィンドウを開く方法について、 プログラムを作成したらよいのか教えてください。 下記のプログラムは、ページを表示すると同時に1枚のサブウィンドウを開くプログラムですが、3枚ほどサブウィンドウを開きたいのです。 よろしくお願い致します。 <HTML> <HEAD> <TITLE></TITLE> <SCRIPT language="JavaScript"> <!-- // サブウィンドウの表示方法を指定する function openWindow1() { window.open("sample.html","OpenWindow",scrollbars=no,location=no,menubar=no,toolbar=no, status=no,directories=no,resizable=no"); } //--> </SCRIPT> </HEAD> <BODY bgcolor="#ffffff" onLoad="openWindow1()"> </BODY> </HTML>

  • JScript server2008 window.openについて

    JScript に関するバグ情報等が有れば教えて下さい。 具体的には Windows Web Server 2008 R1 + IE8 の環境にて window.open 操作をした場合にターゲット指定をうまく認識しない模様です。 フレーム内親ウィンドウから子ウィンドウ(別ウィンドウ)を開き、開いた子ウィンドウから親ウィンドウを操作したいのですが、新規のウィンドウを開いてしまいます。 XP + IE8、Vista + IE8では問題が発生しません。 以下に簡単なソースを記載します。 --- index.htm --- <HTML> <HEAD> <TITLE>フレーム</TITLE> </HEAD> <FRAMESET rows="50%,*" border="3" > <FRAME name="up" src="./parent.htm" frameborder="1"> <FRAME name="down" src="" frameborder="1"> </FRAMESET> </HTML> --- 親ウィンドウparent.htm --- <HTML> <HEAD> <TITLE>親ウィンドウ</TITLE> <script language="javascript"> <!-- function child_window(){ window.open("./child.htm" , "child"); } //--> </script> </HEAD> <BODY> 親ウィンドウ<BR> <input type="button" value="open" onclick="child_window();"> </BODY> </HTML> --- 子ウィンドウchild.htm --- <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <TITLE>子ウィンドウ</TITLE> <script language="javascript"> <!-- function parent_window(){ window.open("./parent.htm" , "up"); } //--> </script> </HEAD> <BODY> 子供だよ<BR> <input type="button" value="parent_open1" onclick="parent_window();"> </BODY> </HTML>

  • 下記HTML(java?)だと,ホップアップが1つしか出来ません。

    続けざまの質問になりますがご返答宜しくお願いいたします。 ちなみに,HTMLタグのように,target=newっていうのを入れてみたのですがどうも違うようですね。 また,この開かれた方のHP(自分のHPじゃないので,hopup1.htmのソースは触れません),hopup1.htm を自動的に閉じてくれる方法はありませんか? <html> <head> <script type="text/javascript"><!-- function popwin(){ pw=window.open("hopup1.html","pop","width=10, height=10, top=0, left=0"); } //--></script> </head> <body> <input type="button" value="login" href="#" onClick="popwin()"> </body> <html> <head> <script type="text/javascript"><!-- function popwin(){ pw=window.open("hopup2.html","pop","width=10, height=10, top=0, left=40","new"); } //--></script> </head> <body> <input type="button" value="login" href="#" onClick="popwin()"> </body>

    • ベストアンサー
    • HTML
  • ページスクロールの繰り返しと巻き戻し

    ページを横スクロールさせるために下記のように記述しました。 最後まで行ったら最初に戻ってスクロールを繰り返させるには、何を足してあげればいいのでしょうか? また、最後まで行ったら巻き戻して繰り返すことは可能でしょうか? 具体的に教えていただければありがたいです。 よろしくお願いします。 <HTML> <HEAD> <META HTTP-EQUIV="Content-Script-Type" CONTENT="text/javascript"> <TITLE>page</TITLE> <SCRIPT LANGUAGE="JavaScript"> <!-- function PageScroll(){ window.scrollBy(1,0); } setInterval(PageScroll,20); //--> </SCRIPT> </HEAD> <BODY> <TABLE border="0" cellpadding="0" cellspacing="0"> <TBODY> <TR> <TD> <IMG src="1.jpg"><IMG src="2.jpg"> </TD> </TR> </TBODY> </TABLE> </BODY> </HTML>

  • ブラウザーの左下に、「java scriptエラー」とでてしまいます。

    自分のHPにjavascriptをつかっているのですが、ブラウザ(IE5.5)でみると、画面左下に、「java scriptエラー」とでてしまいます。でも、そのjavascriptは実際にちゃんと機能してくれます。「java scriptエラー」と出ないようにしたいのですが、どうすればよいのでしょうか?HPで使っているjavascriptは、以下の通りなんですが、何か間違っていますでしょうか? <html> <head> <title>test<title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <SCRIPT language="javascript"> function newwin1() { sub = window.open("test.html","window1","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=610,height=480"); x = (screen.width - 610) / 2; y = (screen.height - 480) / 2; sub.moveTo(x,y); } </SCRIPT> <!--ここから外部javascriptの指定--> <script src="newwin1.js"></script> <!--ここまで外部javascriptの指定--> </head>

  • 画像を送信して壁紙の変更

    下記はPerlのCGIです、FROMで画像を参照し送信すると 壁紙が変更できるコードです、JPGの画像が送信された時は可能なのですが GIFの画像が送信された時は変更できません、 両方の画像で変更できるようにしたいのですがよろしくお願いします。 <SCRIPT language="JavaScript"> <!-- function check() { imag = "file:///"+document.Form1.file_1.value.replace(/\\\\/g, '/'); var new1 = window.open('','new1'); new1.document.writeln("<HTML lang='ja'>"); new1.document.writeln("<HEAD>"); new1.document.writeln("<META HTTP-EQUIV=\\"Content-Script-Type\\" CONTENT=\\"text/javascript\\">"); new1.document.writeln("<TITLE>壁紙変更<"+"/TITLE>"); new1.document.writeln("<"+"/HEAD>"); new1.document.writeln("<BODY BACKGROUND=\\""+imag+"\\">"); new1.document.writeln("<IMG SRC='/image/123.jpg'>"); new1.document.writeln("<"+"/BODY><"+"/HTML>"); } //--> </SCRIPT>

  • HTMLの自動ジャンプとfullscreen

    本当に困ってます。 プレゼン用でHTMLを使う事になりました。 変なページを作成する訳では有りません。 フルスクリーンのページに自動ジャンプしたいのですが、上手くいきません。フラッシュでジャンプしてもフルスクリーンにならず、メタタグに入れてもダメでした。どうぞ教えて下さい。 <HTML> <HEAD> <meta http-equiv=Content-Type content="text/html; charset=SHIFT_JIS"> <meta http-equiv="refresh" content="3;url=to.html"></HEAD> <BODY scroll="no"> <A href="#" onclick="javascript:window.open('to.html','newin','fullscreen=yes')"> <font color=white>フルスクリーンで表示します。</font></A> </BODY> </HTML> どうぞ宜しくお願い致します。

    • ベストアンサー
    • HTML