Вступ
Наша взаимовыгодная связь https://banwar.org/
Я вже якось писав статтю про визначення браузера засобами JavaScript , Але сьогодні я зіткнувся з іншою проблемою - як визначити конкретну версію Internet Explorer. Як всім відомо цей браузер постійно підносить нам сюрпризи, і кожна його версія практично живе своє життям. Бувають такі ситуації, що код адекватно працює в 9-й версії, але не працює в 8-й, і навпаки. І такі моменти зустрічаються при роботі з кожною версією. Тому рано чи пізно вам доведеться зіткнутися з проблемою визначення конкретної версії IE.
Як виявилося визначити версію IE не складає особливих труднощів. При визначенні версії можна скористатися цікавою особливістю Internet Explorer - у кожної версії цього «браузера» є унікальні глобальні об'єкти. Наприклад, в IE9 існує глобальний об'єкт document.addEventListener, і такий об'єкт використовується тільки в версіях старше IE9 (включно). Або ж об'єкт document.querySelector - він з'явився тільки в версії IE8 і використовується в більш нових версіях. Такі об'єкти є в кожної версії, спираючись на них (перевіряючи їх існування) можна легко складати умови для конкретних версій Internet Explorer.
Які об'єкти присутні в різних версіях я приведу в нижче:
IE10 + - window.atob
IE9 + - document.addEventListener
IE8 + - document.querySelector
IE7 + - window.XMLHttpRequest
IE6 + - document.compatMode
Ще один глобальний об'єкт document.all існує у всіх версіях IE, але не використовується ні в яких інших браузерах, грунтуючись на ньому можна відрізнити IE від інших браузерів.
Як визначити версію Internet Explorer в javascript. код
Тепер у нас є всі необхідні складові: об'єкт, який є у всіх версіях IE і тільки в ньому - це дозволить відрізняти його від інших браузерів. А також у нас є об'єкти, які допоможуть відрізняти конкретні версії IE. Нижче наведу кілька прикладів, які наочно покажуть, як на практиці можна використовувати глобальні об'єкти IE.
if (document.all) {// код для всіх версій IE. В інших браузерах виконуватися не буде} if (document.all &&! Window.atob) {// код для IE9 і нижче} if (document.all &&! Document.addEventListener) {// код для IE8 і нижче} if (document .all &&! document.querySelector) {// код для IE7 і нижче} if (document.all &&! window.XMLHttpRequest) {// код для IE6 і нижче} if (document.all && window.atob) {// код для IE10 і вище} if (document.all && document.addEventListener) {// код для IE9 і вище} if (document.all && document.querySelector) {// код для IE8 і вище} if (document.all && window.XMLHttpRequest) {// код для IE7 і вище} if (document.all && document.querySelector &&! document.addEventListener) {// код тільки для IE8}