过去我经常检测设备是否是移动设备,我发现检测它是否不是移动设备比检测它是否是移动设备要容易得多。
我喜欢你正在做的搜索,但你错过了一些像 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;
}