アクセス元の端末(たとえばスマホなのか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だけで解決できる方法がありましたらぜひ教えてください。
よろしくお願いします。
No.3
- 回答日時:
スマホは、完璧ではない(=全ての機種を判定できるわけではない)ですが、
Mobile::UserAgentのscreenDimsメソッドを使えばできると思います。
PCのクライアントの解像度はPerlだけで判定するのは無理でしょう。
HTTPリクエストに解像度の情報は含まれていないので。
javascriptで対応したほうがいいと思います。
No.2
- 回答日時:
それは解像度をチェックしているのではありません。
単にユーザーエージェントを調べているだけで、解像度情報はHTTP要求ヘッダにはありません。スマホもPCも同じmedia="screen"であっても、幸いにスマホはCSS3に対応していますから、その拡張であるmediaqueryが利用できます。
単純に端末の解像度で、ブラウザ自身の機能を使ってスタイルシートを切り替えるほうがはるかに容易です。javascriptのように端末でjavascriptを禁止していても利用できますし、スマホを回転させて縦横変えても切り替わります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Android(アンドロイド) 楽天HAND 5G LINEで通話が出来ない 3 2022/08/23 13:50
- その他(スマホアプリ・スマホゲーム) アプリをスマホにダウンロード、インストールする方法 3 2022/08/13 11:26
- その他(インターネット接続・インフラ) 中古スマホをメルカリで購入した場合、スマホ自体がアクセス禁止になっていることはありますか? 3 2022/05/28 08:05
- LINE LINEアプリ内のQRコードリーダーがカメラのピントが合わず読み込めません。 2 2022/08/26 15:39
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- その他(ブラウザ) このページは動作していません HTTP ERROR 401 2 2022/11/28 12:11
- Android(アンドロイド) いま3台のAndroidを使っています。 AndroidってiPhoneには無いmicroSDXCが 1 2022/05/06 11:42
- Android(アンドロイド) 画像に透かしのウォーターマークを追加する方法について 1 2023/06/09 16:43
- Android(アンドロイド) auのAndroid端末のSIMカードがロックされてしまいました。 6 2022/08/22 20:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
javahのclasspathが通らない
-
androidアプリ開発 -間違い探...
-
android.os.Systemをimport
-
SIMフリーとはなにか
-
Androidスマートフォンについて...
-
dアカウントのこの端末登録名っ...
-
Googleフォトにバックアップし...
-
クラシルリワード って、旧スマ...
-
携帯電話の楽天 hand 5gでの写...
-
gメールの溜まったメールって消...
-
タブレットにはIMEIはないの?I...
-
端末エミュレーションVT100とは
-
複数の端末で同じPonta会員IDを...
-
クレジットカードの明細 緑だ...
-
DAC内蔵型の充電しながら有線イ...
-
Fireタブレットで、この「端末...
-
コマンドプロンプトを使ってip...
-
auのGALAXY、S8を使っています...
-
Galaxy S24 Ultraの防水性能はS...
-
この端末教えて下さい。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Google Pixel の買い替え時につ...
-
android.os.Systemをimport
-
perlでアクセス端末の解像度を...
-
スクショを消さずにスマホに残...
-
Musicカウントフリー適用外?
-
Androidスマートフォンについて...
-
SIMフリーとはなにか
-
クラシルリワード って、旧スマ...
-
dアカウントのこの端末登録名っ...
-
Googleフォトにバックアップし...
-
電波マークが2つあるのですが、...
-
携帯電話の楽天 hand 5gでの写...
-
親名義でスマホをdocomo契約し...
-
タブレットにはIMEIはないの?I...
-
gメールの溜まったメールって消...
-
Fireタブレットで、この「端末...
-
docomo安心モードの簡単端末設...
-
Galaxy Z Fold5が欲しいのです...
-
漫画アプリのマガポケを、古い...
-
ソフトバンクでGalaxyを使いたい。
おすすめ情報