※ ChatGPTを利用し、要約された質問です(原文:perlでアクセス端末の解像度を知りたい)
perlでアクセス端末の解像度を知る方法
このQ&Aのポイント
アクセス元の端末(たとえばスマホなのかPCなのか)で表示する画像を変えたいため、アクセス端末の解像度を取得したい。
JavaScriptの情報はヒットするが、use Term::ReadKeyを使っても動作しない。
Androidの場合、スマホとタブレットの解像度が異なるため、正確な振り分けができず困っている。
アクセス元の端末(たとえばスマホなのかPCなのか)で表示する画像を変えたいため、アクセス端末の解像度を取得したいのですがどうすればよいでしょうか?
いろいろ探してみたのですが、javascriptばかりヒットし、use Term::ReadKeyというものも出てきたのですが、その参考ページをそっくり入れてみても動作しません。
sub agent{
%agent_type = (
qr/MSIE/i => 'p',
qr/iPhone/ => 's',
qr/iPad/ => 't',
qr/Android/ => 's',
一部省略
);
}
sub browser{
&agent;
my $ua = $ENV{'HTTP_USER_AGENT'};
foreach my $key(keys %agent_type){
if ($ua =~ $key){
$ua_type = $agent_type{$key};
last;
}
}
}
上記のような環境変数で振り分けることも考えたのですが、Androidだとスマホとタブレットと解像度が大きく違うものでも同じものをはき出してしまうかと思い、正確な振り分けができず困っています。
どうかperlだけで解決できる方法がありましたらぜひ教えてください。
よろしくお願いします。
お礼
ありがとうございます 教えて頂いた方法でどこまで解像度が得られるか試してみます