Blog

ie11のjavascriptでのブラウザ判定がmsieではなくなっていた

2014.04.15Cat:javascript jQuery デザイナー

javascriptで、ブラウザの判別を処理を変える、もしくはどのブラウザでも同じ動きになるようにしなきゃいけない時があると思います。

いつも使っているページ内リンクのスクロールの処理(スムーススクロールみたいな)があり、
それが下記になります。

ページ内スクロールでjqueryでアニメーションさせようとすると、
$(‘body’)で指定したい所ですが、firefoxやieでは、bodyはだめでhtmlを指定しなくてはいけません。
そこでブラウザを判別して、firefoxとieの時に、htmlで指定するようにしていました。

IE11でスクロールが動かない

しかし!
この前、IE11でスクロールが動かないといわれ、調べてみた結果、タイトルにある通り、
ie10以下は、「msie」の判別なのですが、ie11では「trident」に変更されておりました。

その為、少し書き加えました。
それが以下になります。

こちらで問題なく動きました!!

なぜ、msieではなくなったんでしょうかね・・・

そして気になるのが、今後ie12からはどうなるんでしょうか。

また、変更されてしまったら、またスクリプトを修正しないといけないので、
そもそもブラウザに左右されないスクリプトにしないといけないかもしれませんね。

暇があれば、それに挑戦してみようかと思います。

今回デモは特にないのですが、
弊社のサイトで使用しているので、
そちらをご覧ください。

Author Profile

abe
abe
アベと申します。 ディレクター兼デザイナー兼コーダーです。 まだまだ未熟者ですが、日々頑張っています。。。
» 投稿一覧
  • Launch Cart次世代ECサイト構築システム 初期月額無料
  • LaunchMovie ECに特化した動画制作サービス

Archive

ページTOPへ