Скрипт на проверку на использование пользователем мобильного браузера работает в IE, ЯБ и мозиле, а в Опере и Хроме показывает, что текущий браузер мобильный. В чем может быть проблема?
Самое интересное, что после первоначальной загрузки страницы в консоли во всех браузерах пишется правильно, что текущий браузер не мобильный, но в хроме и опера после перезагрузки страницы сообщение меняется на то, что браузер мобильный.
//Проверка на мобильный браузер
let mobileBrowser;
function mobileBrowserCheck() {
//Проверка на конкретный мобильный браузер
let isMobile = {
Android: function() {
return navigator.userAgent.match(/Android/i);
},
BlackBerry: function() {
return navigator.userAgent.match(/BlackBerry/i);
},
iOS: function() {
return navigator.userAgent.match(/iPhone|iPad|iPod/i);
},
Opera: function() {
return navigator.userAgent.match(/Opera Mini/i);
},
Windows: function() {
return navigator.userAgent.match(/IEMobile/i);
},
//Проверка на любой мобильный браузер
any: function() {
return (isMobile.Android() || isMobile.BlackBerry()
|| isMobile.iOS() || isMobile.Opera() || isMobile.Windows());
}
};
//Возврат функцией true, если браузер мобильный
if(isMobile.any()){
mobileBrowser = true;
console.log('Мобильный');
} else {
console.log('Не мобильный');
}
};
mobileBrowserCheck();