Обнаружение производителя устройства (т.е. марки телефона) с помощью JavaScript - PullRequest
0 голосов
/ 02 июля 2019

Люди уже говорили об этой проблеме на Как найти производителя мобильного телефона, используя javascript в мобильном браузере а также Обнаружение устройства марки

Мне нужна библиотека javascript с гораздо большей библиотекой кодов устройств " muscular ", чем в текущей версии platform.js

Например, у меня есть этот телефон SONY, и когда я запускаю window.navigator.userAgent;, он возвращает имя устройства как F3311 (к сожалению, platform.js этого не распознает). А это значит, что другая модель от SONY появится с другим кодом устройства. Есть также HUAWEI и XIAOMI и многие другие бренды.

Существует ли библиотека javascript, с которой я могу использовать пример кода, подобного этому:

if(userDevice == SONY)
{
//do stuff that is supported by Sony phones only, etc
}
else if (userDevice == HUAWEI)
{
//show stuff that will appear only on Huawei phones, etc
}

Или кто-нибудь знает, где я могу найти список таких кодов устройств, которые возвращаются window.navigator.userAgent, чтобы я мог создать свою собственную библиотеку? Некоторые могут задаться вопросом, зачем мне это нужно. Однако мне это нужно, а сейчас мне нужно ПЛОХО. Если бы он мог хотя бы охватить топ-5 или 6 крупных производителей, показанных на http://gs.statcounter.com/vendor-market-share/mobile и https://www.idc.com/promo/smartphone-market-share/vendor, то я думаю, что это было бы неплохо для всех кодеров, которые оказались в подобной ситуации.

РЕДАКТИРОВАТЬ 1: Я нашел это https://deviceatlas.com/products/web, но я не знаю, предлагают ли они именно то, что мне нужно. Я буду спрашивать.

1 Ответ

0 голосов
/ 02 июля 2019

Я нашел хороший список моделей устройств, которые искал.Чтобы увидеть его, просто перейдите на https://deviceatlas.com/device-data/devices и нажмите «Обзор по производителю» , чтобы открыть его.Теперь я могу попытаться изменить platform.js, используя этот список, или написать что-то похожее, чтобы можно было определить бренды, которые я хочу.(Конечно, было бы слаще, если бы кто-то уже сделал это для 10 или 20 ведущих производителей и поделился своим хорошим кодом.)

РЕДАКТИРОВАТЬ 1: Существует также mobile-detect.js, который имеет более широкий диапазон обнаружения производителей.чем platform.js, как вы можете видеть в их коде на https://github.com/hgoebl/mobile-detect.js/blob/master/mobile-detect.js, но все же некоторые крупные бренды либо плохо освещены, либо полностью отсутствуют в этом.В любом случае, включение каждого отдельного производителя выходит за пределы моноланцеров.Это все равно что пытаться составить карту мира самостоятельно, путешествуя пешком.Поэтому неудивительно, что такой обширный сервис должен быть платным.

РЕДАКТИРОВАТЬ 2: Подождите!Я не знал, что это существовало: https://github.com/faisalman/ua-parser-js Это действительно мускулистый !Похоже, он может распознать мой телефон Sony.ХОРОШО!(По крайней мере, с мобильным Chrome. Да, я тоже пробовал мобильный Firefox, но он не работает.) Что касается Huawei, к сожалению, он его не распознал.Тем не менее, он может предложить некоторое использование, и для его тестирования вы можете скачать его (желательно минимизированный) и использовать такой код, как этот

<script src="ua-parser.min.js" charset="utf-8"></script>
<script type="text/javascript">

var parser = new UAParser();
var result = parser.getResult();
alert(result.device.vendor);

//this worked for me
var userDevice = result.device.vendor;
if(userDevice == "Sony")
{
// code to be run on Sony devices
}
</script>
...