Простой способ идентифицировать пользовательский агент iOS в операторе jQuery if / then? - PullRequest
28 голосов
/ 14 сентября 2011

Точно так же, как это звучит ..

Есть ли какой-то волшебный и простой способ сказать:

    if (user agent is iOS) {
        if (browserRatio >=1.5) {
            $container.css('min-height', '360px');
        } else {
            $container.css('min-height', '555px');
        }
     }

Ответы [ 6 ]

66 голосов
/ 14 сентября 2011

Нашли.

if (navigator.userAgent.match(/(iPod|iPhone|iPad)/)) {
    if (browserRatio >=1.5) {
        $container.css('min-height', '360px');
    } else {
        $container.css('min-height', '555px');
    }
}
2 голосов
/ 14 сентября 2011

Я знаю, что вы спрашиваете о jquery в частности, но IMO, вы почти наверняка захотите использовать CSS3 @media запросов для этого.Есть даже поддержка тестирования для альбомной или портретной ориентации .

@media (orientation:landscape) {
  .container_selector {
    min-height: 555px;
  }
}
@media (orientation:portrait) {
  .container_selector {
    min-height: 360px;
  }
}

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

1 голос
/ 26 января 2015

Для версии веб-приложения попробуйте это.

if (
    ("standalone" in window.navigator) &&
    !window.navigator.standalone
    ){

    // .... code here ....
}
1 голос
/ 12 августа 2014

Чтобы это работало, вам нужно определить browserWidth, но да, это будет работать.Здесь я нацелился только на iPad.

    $(window).load(function(){
      var browserWidth = $(window).width(); 

      if (navigator.userAgent.match(/(iPad)/)) {
        if (browserWidth == 768) {
            $('.sectionI').css({'margin-left': '30px'});
        } else if (browserWidth == 1024)  {
            $('.sectionI').css({'margin-left': '0px'});
        }
      }
    });
0 голосов
/ 15 апреля 2016

Чтобы убедиться, что эта строка не соответствует: Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 925) like iPhone OS 7_0_3 Mac OS X AppleWebKit/537 (KHTML, like Gecko) Mobile Safari/537 просто измените свой код на

if (navigator.userAgent.match(/(\(iPod|\(iPhone|\(iPad)/)) {
    if (browserRatio >=1.5) {
        $container.css('min-height', '360px');
    } else {
        $container.css('min-height', '555px');
    }
}
0 голосов
/ 14 сентября 2011

Судя по комментариям к моему предыдущему ответу, реальный вопрос звучит так: «Как скрыть строку URL в iPhone».На этот вопрос я нашел это:

Как скрыть адресную строку в MobileSafari :

<body onload="setTimeout(function() { window.scrollTo(0, 1) }, 100);">...</body>
...