Как я могу прикрепить простой jQuery при отображении на рабочем столе и прикрепить jQuery Mobile при отображении на мобильном устройстве?

Я создаю веб-сайт, который я хочу использовать jQuery Mobile для выполнения javascript на мобильных устройствах, но, поскольку jQuery Mobile не поддерживается всеми настольными браузерами, я хочу, чтобы обычный jQuery был подключен. Как бы я это сделал?


person chromedude    schedule 29.07.2011    source источник


Ответы (3)


Вот один из способов сделать это на клиенте:

<html>
    <head>
        <script type="text/javascript">
              function isMobileDevice() {
                var index = navigator.appVersion.indexOf("Mobile");
  return (index > -1);
              }
              function loadJQuery() {
                if(isMobileDevice())
                     document.write("<script type='text/javacript src='"+path_to_mobile_jquery+"'></script>");
                else
document.write("<script type='text/javacript src='"+path_to_normal_jquery+"'></script>");
              }
        </script>
    </head>
    <body onload="loadJQuery();">
      <!-- Content -->
    </body>
</html>
person legendofawesomeness    schedule 29.07.2011

Возможно, создать список возможных типов браузеров, а затем протестировать window.navigator.userAgent? Вы можете использовать библиотеку, например Modernizr, для проверки функций, но это не даст вам фактический тип браузера. Нет (пока) поддержки userAgent для определения класса браузера (настольный компьютер, планшет, мобильный телефон и т. д.), поэтому вы застряли в глупом сравнении UA.

Такие проекты, как 51 Degrees, направлены на упрощение этой оценки, но они несут скрытые расходы, а именно: 51 Degrees занимает более 10 секунд для оценки браузера клиента и соответствующего перенаправления. Конечно, в вашем случае вам нужен условный стиль, а не перенаправление. Это говорит о том, что проверка window.navigator.userAgent может поддаваться подходу типа if(true) document.write('<javascript resource />').

person Christopher    schedule 29.07.2011

Вам нужно будет протестировать заголовок запроса браузера (User-Agent) на сервере, а затем соответствующим образом связать структуру:

например см. http://pgl.yoyo.org/http/browser-headers.php User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; de; rv:1.9.2.18) Gecko/20110614 Firefox/3.6.18

person AyKarsi    schedule 29.07.2011