Исключить планшеты с мобильного телефона. - PullRequest
0 голосов
/ 04 мая 2020

Я использую скрипт мобильного обнаружения , который отлично работает на мобильных устройствах, включая планшеты. Однако теперь я хочу исключить планшеты.

Я не хочу использовать медиа-запрос для этого, поскольку он не препятствует загрузке в фоновом режиме сценария / изображения и т. Д. c, которые скрыты на мобильном устройстве. и mobile.detect делает.

Это используемая функция.

function detectMobile($type = '') {
global $basepath;
$user_agent = $_SERVER['HTTP_USER_AGENT'];
if($_GET['mobileDevice']) {
    return true;
}
switch(true) {
    case (stripos($user_agent,'android')); 
         $isMobile = true;

    break;
    case (stripos($user_agent,'iphone')||stripos($user_agent,'ipod'));
        $isMobile = true;

    break;
    case (stripos($user_agent,'opera mini'));
         $isMobile = true;

     break;
    case (stripos($user_agent,'blackberry'));
        $isMobile = true;

    break;
    case (preg_match('/(mini 9.5|vx1000|lge |m800|e860|u940|ux840|compal|wireless| mobi|ahong|lg380|lgku|lgu900|lg210|lg47|lg920|lg840|lg370|sam-r|mg50|s55|g83|t66|vx400|mk99|d615|d763|el370|sl900|mp500|samu3|samu4|vx10|xda_|samu5|samu6|samu7|samu9|a615|b832|m881|s920|n210|s700|c-810|_h797|mob-x|sk16d|848b|mowser|s580|r800|471x|v120|rim8|c500foma:|160x|x160|480x|x640|t503|w839|i250|sprint|w398samr810|m5252|c7100|mt126|x225|s5330|s820|htil-g1|fly v71|s302|-x113|novarra|k610i|-three|8325rc|8352rc|sanyo|vx54|c888|nx250|n120|mtk |c5588|s710|t880|c5005|i;458x|p404i|s210|c5100|teleca|s940|c500|s590|foma|samsu|vx8|vx9|a1000|_mms|myx|a700|gu1100|bc831|e300|ems100|me701|me702m-three|sd588|s800|8325rc|ac831|mw200|brew |d88|htc\/|htc_touch|355x|m50|km100|d736|p-9521|telco|sl74|ktouch|m4u\/|me702|8325rc|kddi|phone|lg |sonyericsson|samsung|240x|x320vx10|nokia|sony cmd|motorola|up.browser|up.link|mmp|symbian|smartphone|midp|wap|vodafone|o2|pocket|kindle|mobile|psp|treo|palm os|palm|hiptop|avantgo|fennec|plucker|xiino|blazer|elaine|iris|3g_t|windows ce|opera mobi|windows ce; smartphone;|windows ce; iemobile)/i',$user_agent));
        $isMobile = true;
    break;
}
return $isMobile; 

}

Я попытался изменить его на function detectMobile($type = 'mobile') { и добавить case (stripos($user_agent,'iPad')); $isMobile = false; break;

это работает на большинстве планшетов, но не на Ipads под управлением ОС 13.2. (согласно Google Dev Tools, Mozilla / 5.0 (iPhone; CPU iPhone OS 13_2_3, как Ma c OS X) AppleWebKit / 605.1.15 (K HTML, как Gecko) Версия / 13.0.3 Mobile / 15E148 Safari /604.1)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...