Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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();
Ответить с цитированием
  #2 (permalink)  
Старый 26.08.2018, 00:11
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

у меня нормально работает, версии новые.
напишите в консоле navigator.userAgent и смотрите с чем матчится строка.
Ответить с цитированием
  #3 (permalink)  
Старый 26.08.2018, 02:24
DVV DVV вне форума
Кандидат Javascript-наук
Отправить личное сообщение для DVV Посмотреть профиль Найти все сообщения от DVV
 
Регистрация: 26.12.2017
Сообщений: 125

В хроме:
"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
И обратно уже не возвращается. Только если вкладку закрыть и загрузить страницу заново.
Ответить с цитированием
  #4 (permalink)  
Старый 26.08.2018, 08:39
DVV DVV вне форума
Кандидат Javascript-наук
Отправить личное сообщение для DVV Посмотреть профиль Найти все сообщения от DVV
 
Регистрация: 26.12.2017
Сообщений: 125

Все разобрался. Такое происходило, когда в инструментах разработчика у меня стоял включенным "мобильный режим", который для проверки адаптивности вверстки. Если его отключить и перезагрузить страницу снова, то все ок))
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перестал работать скрипт для печати картинки в Хроме и Опере. Согдиана Общие вопросы Javascript 6 25.07.2014 13:11
Скрипт не работает в Опере и IE alex-boa Opera, Safari и др. 17 14.03.2014 23:03
Скрипт не работает в опере, работает в IE XpycTuk Общие вопросы Javascript 9 06.03.2009 15:50
Не работает скрипт в Опере stosen Элементы интерфейса 34 03.11.2008 20:38
Не работает скрипт в Опере 312kbps Общие вопросы Javascript 1 16.10.2008 18:11