Мобильный и настольный детектор

У меня есть слайдер, в каждом слайдере одно видео, можно ли при входе с мобильного устройства показывать картинку, а если зайти с десктопа показывать видео?

Да, это возможно. Что вы пытались сделать?

Aniket Sahrawat 09.04.2019 05:34

Потому что в мобильной версии сайт работает очень медленно, и я хочу снизить нагрузку

Arsen Ospanov 09.04.2019 05:39

Вы используете элемент <video>? Если это так, вы можете сделать это, не прибегая к анализу пользовательского агента. Например, вы можете отобразить poster для изображения, включить источник видео в качестве атрибута data-* (вероятно, data-source) и использовать метод matchMedia нативного DOM API, чтобы заменить data-source на живое src в разрешениях рабочего стола... .

Donkey Shame 09.04.2019 06:06

Почему вы хотите, чтобы настольная версия работала медленно?

Peter 09.04.2019 07:44

@Питер ты меня неправильно понял, я наоборот хочу ускориться

Arsen Ospanov 09.04.2019 07:47

Но вы хотите ускорить его только на мобильных устройствах. Это глупо. Сделайте это быстро для всех.

Peter 09.04.2019 07:59

@Peter, потому что в настольной версии скорость 79, в мобильной 37, поэтому я решил, что если я удалю слайдер видео и заменю его изображением, скорость увеличится)

Arsen Ospanov 09.04.2019 08:03

Я понятия не имею, что означают эти числа, но я не понимаю, почему увеличение их обоих — это плохо (при условии, что чем больше число, тем лучше). Я хочу сказать, что вы произвольно решили, что все мобильные устройства медленнее, чем настольные компьютеры. Это неверно. LTE быстрее, чем мой стационарный телефон, а у моего телефона более быстрый процессор, чем у моего старого ПК.

Peter 09.04.2019 08:12

@Peter это для SEO "Поисковая оптимизация"

Arsen Ospanov 10.04.2019 09:53
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
9
83
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать эту функцию для обнаружения устройства

public function detectDevice(){

$userAgent = $_SERVER["HTTP_USER_AGENT"];
$devicesTypes = array(
    "computer" => array("msie 10", "msie 9", "msie 8", "windows.*firefox", "windows.*chrome", "x11.*chrome", "x11.*firefox", "macintosh.*chrome", "macintosh.*firefox", "opera"),
    "tablet"   => array("tablet", "android", "ipad", "tablet.*firefox"),
    "mobile"   => array("mobile ", "android.*mobile", "iphone", "ipod", "opera mobi", "opera mini"),
    "bot"      => array("googlebot", "mediapartners-google", "adsbot-google", "duckduckbot", "msnbot", "bingbot", "ask", "facebook", "yahoo", "addthis")
);
foreach($devicesTypes as $deviceType => $devices) {           
    foreach($devices as $device) {
        if (preg_match("/" . $device . "/i", $userAgent)) {
            $deviceName = $deviceType;
        }
    }
}
return ucfirst($deviceName);
}

Давайте продолжить обсуждение в чате.

Fokrule 09.04.2019 06:53

Примечание: вы не должны слепо доверять тому, что находится в $_SERVER["HTTP_USER_AGENT"]. Клиент может манипулировать строкой.

Aniket Sahrawat 09.04.2019 07:03

Также обратите внимание, что пользовательские агенты могут и меняются со временем.

Jon P 09.04.2019 08:17

Другие вопросы по теме