Старый вопрос, но здесь мое мнение относительно обнаружения мобильных устройств.
В своем вопросе вы заявляете, что хотите иметь уникальные файлы для мобильных устройств, поэтому я могу предположить, что причина этого заключается в том, чтобы представить другую версию веб-сайта для мобильных клиентов и настольных клиентов.
Этот подход приемлем до определенного момента. И эта точка называется Android. Ежедневно активируются Android-устройства ~ 1,5 миллиона с разрешением от 320 * 240 до 2560 * 1600, что затрудняет if {} else
для каждого из них. Даже если вы попытаетесь составить список с большинством используемых устройств и нацелиться только на них, в будущем будет сложно поддерживать новое устройство.
Некоторое время назад я хотел забыть о старом методе разделения устройств на категории «мобильные» и «настольные» и создать новый метод. И этот метод заключается в «хороших» и «плохих» браузерах, основанных на возможностях браузера. Например, если браузер поддерживает локальное хранилище, оно будет в категории «хорошо».
Исходя из этого, у меня была возможность создать «базовую» версию веб-сайта, очень базовую с точки зрения пользовательского интерфейса, но которая будет работать кросс-браузерно. Эта базовая версия веб-сайта будет отображать одинаковое содержимое (, потому что это важно в конце дня ) на всех устройствах, будет очень небольшим по размеру ( меньше ресурсов, меньше html ). ) и на основе возможностей браузера будет обогащаться на стороне клиента.
Таким образом, в итоге у вас будет очень маленький веб-сайт ( размер html и ресурсы ), который выглядит нормально для всех браузеров и будет поддерживать любое новое устройство, которое появится на рынке. без каких-либо изменений быстро загружается даже при плохих соединениях, что может быть расширено на стороне клиента в зависимости от возможностей браузера.
Вы можете даже обогатить веб-страницу в зависимости от размера устройства: если браузер сообщает о большом экране, вы можете добавить больше ресурсов, больше рекламы и сделать веб-страницу более красивой; если отчеты браузера отображаются на маленьком экране, оставьте его как есть.