如何在桌面显示时附加纯jQuery,在移动设备上显示时附加jQuery Mobile?

3
我正在建设一个网站,希望在移动设备上使用jQuery Mobile来执行javascript,但由于并非所有桌面浏览器都支持jQuery Mobile,因此我想附加普通的jQuery。我该如何做到这一点?
3个回答

1

或许可以建立一个可能的浏览器类型的枚举,然后根据 window.navigator.userAgent 进行测试?您可以使用像 Modernizr 这样的库来测试功能,但这不会获取实际的浏览器类型。目前还没有(尚未)userAgent 属性来识别浏览器类别(桌面、平板电脑、移动设备等),因此您只能进行愚蠢的 UA 比较。

51 Degrees 这样的项目旨在简化此评估过程,但它们会产生隐藏的成本--即,51 Degrees 需要花费超过 10 秒的时间来评估客户端浏览器并相应地重定向。当然,在您的情况下,您想要条件样式--而不是重定向。这表明,window.navigator.userAgent 检查可能适用于类似于 if(true) document.write('<javascript resource />') 的方法。


1

以下是在客户端执行此操作的一种方法:

<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>

0

您需要在服务器上测试浏览器请求头(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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接