Почему неправильно работает скрипт в Опере и Хроме
Скрипт на проверку на использование пользователем мобильного браузера работает в 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, время: 04:18. |