Чтобы проверить, является ли браузер Internet Explorer, используйте функцию обнаружения для проверки documentMode
:
http://msdn.microsoft.com/en-us/library/ie/cc196988%28v=vs.85%29.aspx
Этот код проверяет, является ли браузер Internet Explorer 8,9, 10 или 11:
var docMode = document.documentMode,
hasDocumentMode = (docMode !== undefined),
isIE8 = (docMode === 8),
isIE9 = (docMode === 9),
isIE10 = (docMode === 10),
isIE11 = (docMode === 11),
isMsEdge = window.navigator.userAgent.indexOf("Edge/") > -1;
// browser is IE
if(hasDocumentMode) {
if(isIE11){
// browser is IE11
} else if(isIE10){
// browser is IE10
} else if(isIE9){
// browser is IE9
} else if(isIE8){
// browser is IE8
}
} else {
// document.documentMode is deprecated in MS Edge
if(isMsEdge){
// browser is MS Edge
}
}
Проверка document.documentMode
будет работать только в IE8 через IE11, поскольку documentMode
был добавлен в IE8 и устарел / удален в MS Edge.
http://msdn.microsoft.com/en-us/library/ff406036%28v=vs.85%29.aspx
Надеюсь, это поможет!
ОБНОВЛЕНИЕ
Если вам действительно нужно обнаружить IE7, проверьте наличие document.attachEvent
:
var isIE7 = (document.attachEvent !== undefined);
if(isIE7) {
// browser is IE7
}
IE7 возвращает объект, но если браузер IE11 (например), тогда он вернется как undefined
, так как IE11 не имеет attachEvent
.
ОБНОВЛЕНИЕ:
Добавлена проверка для MS Edge.document.documentMode
было устарело в MS Edge .Из-за особенностей MS Edge вы можете проверить наличие Edge/
в User Agent.Microsoft затрудняет использование функции обнаружения в MS Edge.