Моя функция isMMobile () обнаруживает пользовательский агент на рабочем столе как мобильный - PullRequest
0 голосов
/ 23 ноября 2018

Что это за устройство?Моя функция распознает это устройство как мобильное

"Mozilla / 5.0 (Windows NT 6.1; Trident / 7.0; rv: 11.0) как Gecko"

function isMMobile() {

    var device_agent = navigator.userAgent.toLowerCase();
    if (/android|webos|iphone|ipad|ipod|blackberry|windows phone|opera mini|iemobile|tablet|nokia|kindle|mobile/i.test(device_agent)) {
        return true;
    }

    if (window.DocumentTouch && document instanceof window.DocumentTouch) {
        return true;
    }

    if (typeof window.orientation === "number" || 
        'ontouchstart' in window || 
        window.ontouchstart || 
        'ontouchstart' in document.documentElement || 
        "ontouch" in window || 
        window.onmsgesturechange || 
        window.navigator.msMaxTouchPoints || 
        window.navigator.MaxTouchPoints > 0) {
        return true;
    }

    return false;
}

var innerw = window.innerWidth || document.documentElement.clientWidth;
var ismob = isMMobile();

Данные, отправленные через ajax:

ismob=yes&innerw=800

1 Ответ

0 голосов
/ 23 ноября 2018

Это IE 11 в Windows 7 с сенсорным экраном.Большинство ноутбуков с Windows теперь имеют сенсорный интерфейс (и некоторое время), поэтому, если ваша логика в основном «touch == mobile», то вы будете неправильно идентифицировать множество устройств.Существует множество сценариев обнаружения мобильных устройств, которые также помогают, потому что кто-то другой должен идти в ногу с новыми пользовательскими агентами и устройствами.Если можете, пусть они разбираются с головными болями при обнаружении!

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