ブラウザによって画面の表示が変わることがあるので、ブラウザごとに処理を分ける方法を調べました。
*UserAgent を使う
下記コードで判定することができました。IEとEdgeの判定は注意が必要で、Chromeより先に判定を行う必要があります。(IE と Edge については、userAgentの文字列の中に
chrome
も含まれているからです)また、IE11からuserAgentの文字列が変更されて
trident
になったので、判定条件に追加してあります。var ua = window.navigator.userAgent.toLowerCase()
if (ua.indexOf('msie') >= 0 || ua.indexOf('trident') >= 0) {
// IEの処理
}
if (ua.indexOf('edge') >= 0) {
// Edgeの処理
}
if (ua.indexOf('safari') >= 0) {
// safariの処理
}
if (ua.indexOf('chrome') >= 0) {
// Chromeの処理
}
if (ua.indexOf('firefox') >= 0) {
// Firefoxの処理
}
*所感
画面ごとにこの判定をいちいち書くのは面倒なので共通化したほうがいいかもしれないです。userAgent 以外の判定方法で便利なライブラリなどがあったらそちらを使いたい気持ちです。Sign up here with your email
ConversionConversion EmoticonEmoticon