UserAgentのお話(互換表示とかなんとか)
仕事にて。
ブラウザの種別によって機能を切り替えるとかなんとかっていう、よくあるパターンの内容が仕様として確定したため、旧来から使っていたソースを使用して対応した。
(まあよくあるこんなタイプの)
テストしてよしよし。リリースしておkおk。
そーんな感じでやってたら、納品先からお電話。
「機能が切りかれれてない」
おろ?何故に?
////////////////////////////////////////////////////
今回の案件の要件はIE7~IE11。
IE11にも対応してるからよしよし、と思っていたんだけども、
上記のようなソースにおいて加味してなかった部分があって。
それは【互換モード】。
納品先のお客様というのは、社内システムがたくさんある会社。
そのため、IE11に対応していない作りのあるシステムもあるらしく、
IE11においては基本的に「IE7の互換モード」で動くとのこと。
////////////////////////////////////////////////////
互換モードで動いているとなると、
tridentは7なんだけどもMSIEは7.Xなわけである。
上記のようなソースだと、先にIEのバージョン判別をしてしまうため、
MSIE 7.Xの分岐に先に入り込んでしまうわけだ。
今回は、IE11に対応するために、tridentの確認分岐を先に置くという手法で対応したが、
場合によっては下記のページもタメになるみたいだ。