当谈到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');
});
对此问题的任何帮助都将受到高度赞赏!
答案 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;
}