Показать сообщение отдельно
  #1 (permalink)  
Старый 25.08.2018, 20:14
DVV DVV вне форума
Кандидат Javascript-наук
Отправить личное сообщение для DVV Посмотреть профиль Найти все сообщения от DVV
 
Регистрация: 26.12.2017
Сообщений: 125

Почему неправильно работает скрипт в Опере и Хроме
Скрипт на проверку на использование пользователем мобильного браузера работает в 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();
Ответить с цитированием