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 removeClass 特定のクラスを全て削除
特定のクラスを全て削除 フォームを作成した時に、入力項目に不備があった場合は目立つ様にinput属
-
jQuery 水平スクロール&cssでカスタム可能なスクロールバーなプラグイン
水平スクロール&cssでカスタム可能なスクロールバーなプラグイン jQueryを使ったプラグインは
-
Androidで課金アプリ作製 定期購読サンプルコード編
Androidで課金アプリ作製 定期購読編 In-app Billing v3を使用したアプリ開発
-
Macで ローカルサーバー構築 PHP設定編
Macで ローカルサーバー環境を構築するまで PHP設定編 ネットでの情報は必要最低限しか載ってな
-
PHP MySQL 重複行を抽出 ロジックで高速化
PHP MySQL 重複行を抽出 ロジックで高速化 ロジックで高速化は釣りになっているかもしれませ
-
Apache 500 Internal Server Error
久しぶりに自宅のローカルサーバーを動かしたら「Server error!」が出てゑっ!? 解決方法
-
Androidで課金アプリ作製 サンプルコード(BILLING V3) 起動編
Androidで課金アプリ作製 サンプルコード起動編 課金アプリの制作の機会が来てしまいました。
-
Macで ローカルサーバー構築 Postfix基本編
Macで ローカルサーバー環境を構築するまで Apache起動編 ネットでの情報は必要最低限しか載
-
Androidで課金アプリ作製 エラー編(-1008:Unknown error)
Androidで課金アプリ作製 エラー編 In-app Billing v3を使用したアプリ開発で
-
jQuery Googleカレンダー風スケジュール表 タイムテーブル
jQueryでスケジュール表もしくはタイムテーブルっぽいもの 仕事でスケジュール管理のシステム開発