PHPでIE11ユーザーエージェント判定
IE11のユーザーエージェント判定
自作のユーザーエージェント判定クラスでIEの判定が出来てなかったので少々調査。
というかIE11からユーザーエージェントの値が変わってました。。。
php5.3系
IE11から
「rv:11.0」がバージョンにみたいです。
IE10とか
こんな感じ?
以前の判定方法
$pos = strpos($this->user_agent, 'MSIE');
後は出現場所から「substr」で一定数の文字を切り取ってヴァージョンを調べてましたが、
IE11からは’MSIME’の文字列が無くなってしまってます。。。
なので「Windows NT」が出現したらIEとして、
「rv:」以降の文字列をバージョンとして文字を切り取ります。
if (strpos($_SERVER['HTTP_USER_AGENT'], 'Windows NT')) { $pos = strpos($_SERVER['HTTP_USER_AGENT'], 'rv:'); $version = substr($_SERVER['HTTP_USER_AGENT'], $pos+3, 4); }
実コードでは細かいバージョンまで見てないので$versionをintvalで整数にしてごにょごにょしてます。
これだとIE10とかもひっかかるので、一旦「MSIE」をチェックして、抜けたらこれを通して判定してます。
もっとスマートな方法がありそうなので。。。発見したら更新するかも?
関連記事
-
-
jQuery Googleカレンダー風スケジュール表 タイムテーブル
jQueryでスケジュール表もしくはタイムテーブルっぽいもの 仕事でスケジュール管理のシステム開発
-
-
Androidで課金アプリ作製 エラー編(-1008:Unknown error)
Androidで課金アプリ作製 エラー編 In-app Billing v3を使用したアプリ開発で
-
-
PHP MySQL 重複行を抽出 ロジックで高速化
PHP MySQL 重複行を抽出 ロジックで高速化 ロジックで高速化は釣りになっているかもしれませ
-
-
Macで ローカルサーバー構築 Apache設定編
Macで ローカルサーバー環境を構築するまで Apache設定編 ネットでの情報は必要最低限しか載
-
-
jQuery removeClass 特定のクラスを全て削除
特定のクラスを全て削除 フォームを作成した時に、入力項目に不備があった場合は目立つ様にinput属
-
-
Androidで課金アプリ作製 定期購読サンプルコード編
Androidで課金アプリ作製 定期購読編 In-app Billing v3を使用したアプリ開発
-
-
Macで ローカルサーバー構築 Apache起動編
Macで ローカルサーバー環境を構築するまで Apache起動編 ネットでの情報は必要最低限しか載
-
-
C言語 バッファオーバーランまで ポインタ考察編
趣旨 ただC言語を勉強してもモチベーションがあがり辛いので、 取り合えずバッファオーバーランを目
-
-
Macで ローカルサーバー構築 Postfix基本編
Macで ローカルサーバー環境を構築するまで Apache起動編 ネットでの情報は必要最低限しか載
-
-
jQuery 要素の相対位置
jQueryを使って要素の相対位置を調べる Google先生に「jquery offsetLeft