Skip to content

Instantly share code, notes, and snippets.

@YusukeHirao
Created November 22, 2012 05:28
Show Gist options
  • Save YusukeHirao/4129538 to your computer and use it in GitHub Desktop.
Save YusukeHirao/4129538 to your computer and use it in GitHub Desktop.
UAを参照しないでブラウザを判定する方法 ref: http://qiita.com/items/2b97592826fa2d480b70
var w = window,
d = w.document,
dE = d.documentElement,
unavailableQuerySelector = isUndefined(d.querySelector),
unavailablePerformance = isUndefined(w.performance),
isIE = !isUndefined(d.uniqueID),
ltIE6 = isIE && isUndefined(dE.style.maxHeight),
ltIE7 = isIE && unavailableQuerySelector,
ltIE8 = isIE && isUndefined (d.getElementsByClassName),
ltIE9 = isIE && isUndefined(w.Worker),
isIE6 = isIE && ltIE6,
isIE7 = isIE && ltIE7 && !ltIE6,
isIE8 = isIE && ltIE8 && !ltIE7 && !ltIE6,
isIE9 = isIE && ltIE9 && !ltIE8 && !ltIE7 && !ltIE6,
isIE10 = isIE && !ltIE9 && !ltIE8 && !ltIE7 && !ltIE6,
isMoz = !isIE && !isUndefined(w.sidebar),
ltFirefox3 = isMoz && unavailableQuerySelector,
ltFirefox36 = isMoz && isUndefined(w.ArrayBuffer),
ltFirefox6 = isMoz && unavailablePerformance,
isOpera = !isIE && !isUndefined(w.opera),
isWebkit = !isIE && !isMoz && !isOpera && !isUndefined(d.querySelectorAll),
isMobileWebkit = isWebkit && !isUndefined(w.ontouchstart),
isChrome = isWebkit && !unavailablePerformance && ! isUndefined(w.EventSource),
isSafari = isWebkit && !isChrome,
ltSafari4 = isSafari && isUndefined(w.matchMedia),
ltSafari5 = isSafari && isUndefined(w.FileReader),
isSafari4 = isSafari && ltSafari4,
isSafari5 = isSafari && ltSafari5 && !ltSafari4,
isSafari6 = isSafari && !ltSafari5 && !ltSafari4,
isMobileChrome = isChrome && isMobileWebkit,
isMobileSafari = isSafari && isMobileWebkit,
support = {
isIE: isIE,
ltIE6: ltIE6,
ltIE7: ltIE7,
ltIE8: ltIE8,
ltIE9: ltIE9,
isIE6: isIE6,
isIE7: isIE7,
isIE8: isIE8,
isIE9: isIE9,
isIE10: isIE10,
isMoz: isMoz,
ltFirefox3: ltFirefox3,
ltFirefox36: ltFirefox36,
ltFirefox6: ltFirefox6,
isOpera: isOpera,
isWebkit: isWebkit,
isChrome: isChrome,
isSafari: isSafari,
ltSafari4: ltSafari4,
ltSafari5: ltSafari5,
isSafari4: isSafari4,
isSafari5: isSafari5,
isSafari6: isSafari6,
isMobileWebkit: isMobileWebkit,
isMobileChrome: isMobileChrome,
isMobileSafari: isMobileSafari
};
function isUndefined (value, undefined) {
return value === undefined;
}
console.log(support);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment