отключить функцию jquery, если размер экрана превышает размер экрана мобильного устройства - PullRequest
0 голосов
/ 12 октября 2019

Я использую jquery, проверяю ширину окна и запускаю функцию в зависимости от размера экрана. Пока все работает как надо. Моя проблема заключается в том, что если пользователь запускает на планшете / рабочем столе и сжимает область просмотра до размера, который я хочу, чтобы функция запуска работала как следует, но когда они возвращают размер экрана обратно на планшет / рабочий стол, функция все равно запускается, чего я не хочу. Есть ли способ отключить или убить функцию?

jquery:

    $(document.ready(function(){

 $(window).on("resize", function (e) {
        checkForMobile();
    });

    checkForMobile();

    function checkForMobile() {
        var newWindowWidth = $(window).width();
        if (newWindowWidth < 768) {
            //append nav item to bottom of list mobile and active
            $($threePanelNav).click(function () {
                var $this = $(this);
                $this.appendTo($this.parent());
            });
        } else {
            return false;
        }
    }
 });

1 Ответ

0 голосов
/ 12 октября 2019

Если вы используете .net framework, тогда в фоновом коде вы можете получить тип устройства с помощью приведенного ниже кода - (Код, написанный на VB.Net/C#, вы можете преобразовать в соответствии с вашими потребностями)

Функция «IsMobileBrowser» для определения, является ли устройство мобильным или нет.

C #: -

private string[] mobileDevices = new string[] { "iphone", "ppc", "windows ce", "blackberry", "opera mini", "mobile", "palm", "portable", "opera mobi", "mobi" };

    public bool IsMobileBrowser(HttpRequest Request)
    {
        bool isMobile = false;
        var strUserAgent = Request.UserAgent.ToString().ToLower();
        if (!IsNothing(strUserAgent))
        {
            if ((Request.Browser.IsMobileDevice | mobileDevices.Any(n => strUserAgent.Contains(n))))
                isMobile = true;
        }

        return isMobile;
    }

VB.Net: -

Dim mobileDevices As String() = New String() {
"iphone", "ppc", "windows ce", "blackberry",
"opera mini", "mobile", "palm", "portable", "opera mobi", "mobi"}

Public Function IsMobileBrowser(ByVal Request As HttpRequest) As Boolean
Dim isMobile As Boolean = False
Dim strUserAgent = Request.UserAgent.ToString().ToLower()
If Not IsNothing(strUserAgent) Then
If (Request.Browser.IsMobileDevice Or
mobileDevices.Any(Function(n) strUserAgent.Contains(n))) Then
isMobile = True
End If
End If
Return isMobile
End Function

THEN -

Если IsMobileBrowser (Request) возвращает true, тогда это мобильное устройство, и вы можете выполнить действие.

Здесь Запрос принадлежит объекту HTTP-запроса.

Надеюсь, это поможет вам.

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