Code

2014年11月20日木曜日

IE 11 userAgent 変更

 今日、隣のチームが変なバグを遭遇しました。一般的には IE8 では動かないバグがよくありますが、今回は IE11 で editor が動かなくなりました。具体的に言うと、chrome などのブラウザーでは、rich text editor が自動的に生成されますが、IE 11 では普通の textarea になっていました。
 ちょっと調べてみたら、なぜか、iframe が生成されるコードが実行しなくなりました。もう少し確認したら、IE 11 はサポートブラザー外になりました。
 コードを追ってみると、userAgent を取得して、"MSIE" をチェックして、IE のバージョンを確認する処理がありました。IE 11 では MSIE という文字列がなくなったことが発見しました。
 へ〜、本当に起こりました。。。こういうことは。
 以前予想していましたが、実際起こるのですね。userAgent でブラウザーを判断することはよくないと以前から話してましたが、まだいろいろライブラリーがそれを使ってますね。。。
 まぁ、ブラウザーの userAgent は相変わらずごちゃごちゃですけど。。。

 今回は rv:11.0 からバージョンは取得できるので、それをコードに追加して、うまくいきました。。。ただ、他のスクリプットエラーが出て。。。
 x-ua-compatible を EmulateIE9 に追加したら、実行できました。。。
 なんでだろうね。。。

 MS も IE 11 をおしているようです。面白いサイトです:
 http://www.rethinkie.com/hello-again/#/intro

0 件のコメント:

コメントを投稿