Почему неправильно работает скрипт в Опере и Хроме
Скрипт на проверку на использование пользователем мобильного браузера работает в 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();
|
у меня нормально работает, версии новые.
напишите в консоле navigator.userAgent и смотрите с чем матчится строка. |
В хроме:
"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Mobile Safari/537.36" В опере: "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Mobile Safari/537.36" Однако при первой загрузке в консоле показывает https://yadi.sk/i/1Xr42Eru3aZJ2f А если после этого обновить, то сразу меняется на https://yadi.sk/i/Tqo72R3Q3aZJ32 И обратно уже не возвращается. Только если вкладку закрыть и загрузить страницу заново. |
Все разобрался. Такое происходило, когда в инструментах разработчика у меня стоял включенным "мобильный режим", который для проверки адаптивности вверстки. Если его отключить и перезагрузить страницу снова, то все ок))
|
| Часовой пояс GMT +3, время: 23:39. |