Этот код определяет объект и присваивает его переменной с именем «isMobile».
«Android» является свойством этого объекта, а его значение является функцией.
Функция выполняет проверку строки пользовательского агента браузера, чтобы определить, работает ли она в браузере Android.
Все это вместе позволяет другому коду определять, работает ли он в браузере Android, вызывая isMobile.Android()
.
Или iOS, позвонив по номеру isMobile.iOS()
и т. Д.
isMobile.any()
перебирает другие функции, вызывая их, чтобы проверить, истинны ли любые из них; поэтому, если вы хотите знать, работаете ли вы на мобильном устройстве, но не заботитесь о том, какого именно типа, воспользуйтесь этим.
Каждый браузер предоставляет переменную с именем navigator
, которая содержит информацию о браузере, включая свойство userAgent
, которое дает подсказки о том, какой браузер и версия это. Я управляю Храбрым, и вот как выглядит navigator
для меня. Я выделил userAgent
часть.
userAgent
значения могут приводить в бешенство. Я использую Brave, но в строке userAgent упоминаются Mozilla, Gecko, Chrome и Safari. Тьфу. Но это совсем другая банка червей.
Как я уже сказал, вы можете найти подсказки о том, какой браузер вы используете в этом значении. Для этого в этом коде используются регулярные выражения . Регулярные выражения - это мощный синтаксис сопоставления с образцом, используемый для поиска подстрок или образцов в строках. Слишком сложно для меня, чтобы объяснить здесь подробно, но в качестве примера выражение userAgent.match(/iPhone|iPad|iPod/i)
ищет любое из слов "iPhone", "iPad" или "iPod" в значении userAgent
. (Часть между косыми чертами - это шаблон, а завершающий i
- это флаг, который делает поиск нечувствительным к регистру.)