0

当谈到 jQuery/Javascript 时,我完全迷失了,所以提前道歉。我在 Wordpress 网站上使用MixItUp jQuery 过滤器,它可以选择显示网格或列表视图(默认),我想做的是在使用移动设备访问网站时将网格设置为默认值。

这就是我目前所拥有的(我一直在从网络上复制和粘贴,所以可能还没有关闭):

if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {
    $(document).ready(function(){
    $('#Grid').mixitup('toGrid');
});

对此问题的任何帮助将不胜感激!

4

2 回答 2

0

您想将“if”语句和函数调用包装在文档就绪调用中。不是反过来:

$(document).ready(function () {

    if(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|OperaMini/i.test(navigator.userAgent)) {
        $('#Grid').mixitup({layoutMode : 'grid'});
    }


});
于 2013-09-18T00:29:51.090 回答
0

过去我经常检测设备是否是移动设备,我发现检测它是否不是移动设备比检测它是否是移动设备要容易得多。

我喜欢你正在做的搜索,但你错过了一些像 Nook 和 Kindle 一样的搜索,许多移动设备也在他们的用户代理中使用“移动”这个词。话虽如此,即使您在搜索中包含这些内容,您肯定会在接下来的几年中弹出更多内容。我发现最好检测它是否是桌面,因为几乎每年都没有添加新的桌面操作系统,就像我们现在在移动设备上看到的那样。不仅如此,我还发现较旧的 Android 设备可以在其用户代理中返回混合结果。

这是我们用来确定设备是 Windows、Linux、Mac、Facebook、机器人还是移动设备的代码。我们已经在我们访问我们网站的所有不同设备上使用和测试了这个代码,它似乎在所有设备上都能正常工作。我希望这有帮助!

$(document).ready(function(){
     if (deviceType() == "Mobile")
          $('#Grid').mixitup('toGrid');
});


function deviceType ()
{
     var OSName="Mobile";
     if (navigator.appVersion.indexOf("Win")!=-1 && navigator.appVersion.indexOf("Phone")===-1) OSName="Windows";
     if (navigator.appVersion.indexOf("Macintosh")!=-1) OSName="MacOS";
     if (navigator.appVersion.indexOf("X11")!=-1) OSName="UNIX";
     if (navigator.appVersion.indexOf("Linux")!=-1 && navigator.appVersion.indexOf("Android")===-1) OSName="Linux";
     if (navigator.appVersion.indexOf("facebook.com")!=-1) OSName="facebook";
     if (navigator.appVersion.indexOf("bot")!=-1) OSName="bot";
     if (navigator.appVersion.indexOf("Slerp")!=-1) OSName="bot";
     return OSName;
}
于 2013-09-18T01:05:09.687 回答