« 久しぶりの・・ | メイン | ネット広告 »

2006年04月17日

MT4i改造

桜のエントリーでテストしていた画像の件ですが解決いたしました。これでほとんどのキャリアで最適なサイズで見られるはずです。原因としては au の機種判別がテキトーで、au の場合はファイルサイズが 9KB 固定、キャリアが判別できない場合は 5KB 固定になっていました。

機種判別をしているプログラムが MT4ilib/Func.pl に書いてあるのですが以下のとおりに修正しました。これによって機種判別ができない場合は50KB、au は端末のキャッシュサイズに合わせた画像が表示されます。てかこのくらいやってくれ・・。

sub calc_cache_size {
my ( $user_agent ) = @_;
# 改造(5KB→50KB)
# my $cache_size = 5120;

my $cache_size = 50*1024;
if ( $user_agent =~ m|DoCoMo.*\W.*c(\d+).*(c\d+)|i ) {
$cache_size = $1*1024;
} elsif ( $user_agent =~ m|DoCoMo.*\W.*c(\d+).*(c\d+)?|i ) {
$cache_size = $1*1024;
} elsif ( $user_agent =~ m|DoCoMo|i ) {
$cache_size = 5*1024;
# 改造(Vodafone)
# } elsif ( $user_agent =~ m|Vodafone/\d\.\d| ||
# $user_agent =~ m|MOT-\w980| ||
# $user_agent =~ m|J-PHONE/[45]\.\d| ) {
# $cache_size = 12*1024;
# } elsif ( $user_agent =~ m|J-PHONE| ) {
# $cache_size = 6*1024;

} elsif ( $user_agent =~ m|Vodafone/\d\.\d| ||
$user_agent =~ m|MOT-\w980| ||
$user_agent =~ m|J-PHONE/5\.\d| ) {
$cache_size = 300*1024;
} elsif ( $user_agent =~ m|J-PHONE/4\.\d+| ) {
$cache_size = 12*1024;
} elsif ( $user_agent =~ m|J-PHONE| ) {
$cache_size = 6*1024;
# 改造(au追加)
} elsif ( $ENV{HTTP_X_UP_DEVCAP_MAX_PDU} ) {
$cache_size = $ENV{HTTP_X_UP_DEVCAP_MAX_PDU};
# 改造(au追加)End

} elsif ( $user_agent =~ m|KDDI\-| ) {
$cache_size = 9*1024;
} elsif ( $user_agent =~ m|UP\.Browser| ) {
$cache_size = 7.5*1024;
}
return $cache_size;
}

投稿者 のむのむ : 2006年04月17日 18:53

コメント

おらにはこう見えたぉ。

(iYi)($・-・$ ==BEEM==~ (m|m)b (*W*)p ) {
$cake_size = 1024g;
}elis{
>(///◎<
}


↑注:このプログラムはMana言語上のみで動作します。


【おまけ】

if($You_love_me == TRUE){
。・(//▽//)・。
}else{
。・(/_T)・。
}

投稿者 抗菌まな板 : 2006年04月17日 19:03

すまぬ。auの判別部分、昨日のじゃ危険だった。
古い端末だとHTTP_X_UP_DEVCAP_MAX_PDUがセットされずにリクエストされることがあるらしい。。。(=キャッシュサイズが0としてセットされてしまう。)
なので、下記が安全かも。
まぁ、もっともHTTP_X_UP_DEVCAP_MAX_PDUを送らない端末はbmpしか表示出来ない大昔の端末みたいだけど。

} elsif ( $ENV{HTTP_X_UP_DEVCAP_MAX_PDU} ) {
$cache_size = $ENV{HTTP_X_UP_DEVCAP_MAX_PDU};
} elsif ( $user_agent =~ m|KDDI\-| ) {
$cache_size = 9*1024;
} elsif ( $user_agent =~ m|UP\.Browser| ) {
$cache_size = 7.5*1024;
}

で、http://www.hazama.nu/pukiwiki/index.php?MT4i%2F%A5%D9%A1%BC%A5%BF%B8%F8%B3%AB%2F2.1%A6%C2に報告する??

投稿者 よび : 2006年04月17日 23:02

まな>
ナイスセンス!

予備>
ん~、そんな昔携帯ってまだ使われてるの?
iモードで白黒端末向けにするようなものでは?
一応追加しとくか~?

報告はよろw

投稿者 のむのむ@管理者 : 2006年04月17日 23:08

sbfqoopnv, http://www.yqylkesvlz.com pqhxxqdkpm

投稿者 gbtwyusant : 2012年02月06日 16:31

コメントしてください




保存しますか?