2014-02-18 4 views
4

Я использовал, чтобы проверить это следующим образом:Проверьте IE8 с чистым Javascript

$.browser.msie && $.browser.version == 8 

Но, похоже, что $.browser был удален из позднего versinos из JQuery,

Так,

Как могу ли я проверить это с помощью только чистого javascript?

Я пробовал:

isIE8: navigator.appVersion.indexOf("MSIE 8") > 0

Wich, кажется ли это, но это не выглядит так хорошо, и на самом деле выглядит, как это имеет много недостатков ...

Любой лучше Подход?

+1

http://stackoverflow.com/questions/5574842/best-way -to-check-for-ie-less-than-9-in-javascript-without-library – enyce12

+1

Почему вы думаете, что это выглядит нехорошо и имеет недостатки? – putvande

+0

http://stackoverflow.com/a/10965091/1420197 –

ответ

3

Это больше, чем однострочника вы, вероятно, хотите, но безопаснее, чем разбор строки UA, так как он основан на реальном поведении (IE условные комментарии): https://gist.github.com/paulirish/357741

2

Вы можете проверить, если SVG тег поддерживается , SVG не поддерживается в IE8 ->http://caniuse.com/#search=svg к opposit, то DATA тег был введен в IE8 ->http://caniuse.com/#search=data

Итак:

if (navigator.userAgent.toLowerCase().indexOf('msie') != -1) { 
    if (!document.createElement('SVG').getAttributeNS) { 
     if (document.createElement('DATA').getAttributeNS) { 
      //the browser is defently IE8 
     } 
    } 
} 
+1

omit if (document.createElement ('DATA'). GetAttributeNS ... если вы хотите проверить <= IE8 –

Смежные вопросы