移动时调用功能

时间:2013-09-18 00:13:04

标签: javascript jquery ios wordpress

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

这就是我现在所拥有的(我一直在网上复制和粘贴,所以可能甚至没有关闭):

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

对此问题的任何帮助都将受到高度赞赏!

2 个答案:

答案 0 :(得分:0)

你想包装" if"语句和函数调用文档就绪调用。不是相反:

$(document).ready(function () {

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


});

答案 1 :(得分: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;
}