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でスケジュール表もしくはタイムテーブルっぽいもの 仕事でスケジュール管理のシステム開発
-
jQuery Google画像検索風プラグイン
Google画像検索風プラグイン rc_gallery_open こういったプラグインは数多の開
-
Macで ローカルサーバー構築 PHP設定編
Macで ローカルサーバー環境を構築するまで PHP設定編 ネットでの情報は必要最低限しか載ってな
-
jQuery 水平スクロール&cssでカスタム可能なスクロールバーなプラグイン
水平スクロール&cssでカスタム可能なスクロールバーなプラグイン jQueryを使ったプラグインは
-
Androidで課金アプリ作製 サンプルコード(BILLING V3) 起動編
Androidで課金アプリ作製 サンプルコード起動編 課金アプリの制作の機会が来てしまいました。
-
jQuery removeClass 特定のクラスを全て削除
特定のクラスを全て削除 フォームを作成した時に、入力項目に不備があった場合は目立つ様にinput属
-
Macで ローカルサーバー構築 ローカルネットワーク参加編
Macで ローカルサーバー環境を構築するまで Apache設定編 ネットでの情報は必要最低限しか載
-
Macで ローカルサーバー構築 Apache起動編
Macで ローカルサーバー環境を構築するまで Apache起動編 ネットでの情報は必要最低限しか載
-
PHP substr エスケープ処理で文字化け
PHP substr 文字化け mb_substrで文字コードを合わせて切り取ればOKって記事は沢
-
Google Cloud Messaging プロジェクトナンバー API Key取得編 2014/07最新版
Google Cloud Messaging プロジェクトナンバー APK取得編 コンソールの仕様