アプリ版:「スタンプのみでお礼する」機能のリリースについて

初心者なのですが、CGIで携帯サイトを作っていますが。
実機がうまく動きません。User-Agentに問題があると考えています。
現在のソースと主な現象を記しますので、適切なものを教えて下さい。お願いします。

#----------#
# 端末認識 #
#----------#
sub useragent {
my $ua;
#次にi-mode端末かどうかチェック
if ($ENV{'HTTP_USER_AGENT'} =~ /^DoCoMo\/\d/) {
$ua = 1;
#次にJ-Phone端末かどうかチェック
} elsif ($ENV{'HTTP_USER_AGENT'} =~ /^J-PHONE\/\d/) {
$ua = 2;
#EZweb端末かどうかチェック
} elsif (($ENV{'HTTP_USER_AGENT'} =~ 'UP.B') && ($ENV{'HTTP_X_UP_SUBNO'} ne "")){
$ua = 3;
#その他はPCとする
} else { $ua = 0;}

#PCブラウザ再判定
if ($ENV{'HTTP_USER_AGENT'} =~ /Mozilla\/|MSIE|Netscape|Opera|Lynx|AOL|Gecko/) {$ua = 0;}


return $ua;
}


主な現象 AU:ページ表示ごとに、いちいちブラウザメニューからページ更新をしなければならない(AUの特性もありますが)
ソフトバンク:携帯版ではなく、PC版が表示されてしまう。
ドコモ :Pは問題ないようだが、SHは会員登録画面のフォームが半分の項目しか表示されず、次のページで残りの半分 は表示されるが、フォームにすべて書き込んで、登録送信をクリックしても、エラーデータ、の表示が出る。

A 回答 (4件)

ソフトバンクモバイルのUser-Agentは4つあるので以下のようにした方がいいと思います。



#次にJ-Phone端末かどうかチェック
} elsif ($ENV{'HTTP_USER_AGENT'} =~ /^J-PHONE|Vodafone|SoftBank|MOT-\/\d/) {
$ua = 2;
    • good
    • 0

AU端末ブラウザは強力なキャッシュ機能がありますから、


全ページMETAタグでキャッシュ無効を指定したほうがいいですね。
AU、SB、Docomo全て機種により受信できるHTMLテキストおよび画像を合わせたサイズ制限があります。
特に大きなプルダウンメニューなどを入れると、制限容量以上は
表示されません。
この場合、フォームを分割して作成するなどの対処が必要です。
(当然、前ページで入力した内容の引渡しなども考慮する)
    • good
    • 0

>主な現象


>AU:ページ表示ごとに、いちいちブラウザメニューからページ更新をしなければならない(AUの特性もありますが)

よく意味がわかりませんが、ページ更新をしないとページ表示がされないのでしょうか?
http://www.au.kddi.com/ezfactory/index.html


>ソフトバンク:携帯版ではなく、PC版が表示されてしまう。

最近のソフトバンク機種はsoftbankというユーザーエージェント名で取ります。
詳しくはキャリアのページの仕様を見たほうがよいでしょう。
http://creation.mb.softbank.jp/


>ドコモ :Pは問題ないようだが、SHは会員登録画面のフォームが半分の項目しか表示されず、次のページで残りの半分 は表示されるが、フォームにすべて書き込んで、登録送信をクリックしても、エラーデータ、の表示が出る。

機種ごとの違いはやはりキャリアの仕様ページをごらんになったほうがよいでしょう。
表示データが長すぎる(重過ぎる)場合、一変に表示できないこともあります。
http://www.nttdocomo.co.jp/service/imode/make/
    • good
    • 0

各キャリアのサイトでユーザーエージェントやHTMLの作り方(制限事項も)を再確認したほうがいいみたいです。

    • good
    • 0
この回答へのお礼

ありがとうございます。確認してみます。

お礼日時:2009/02/16 13:02

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