【发布时间】:2012-11-10 20:24:21
【问题描述】:
要求 - 使用 JavaScript 检测平板电脑
我不允许使用任何插件或库(jQuery 是一个例外)并且希望将代码保持在最低限度。
我已经阅读了很多关于这个主题的帖子并想出了这个解决方案(检查屏幕分辨率和触摸):
var _w = Math.max($(window).width(), $(window).height());
var _h = Math.min($(window).width(), $(window).height());
var tabletView = (_w >= 1000 && _h >= 600);
var is_touch_device = 'ontouchstart' in document.documentElement;
if (tabletView && is_touch_device) {
alert('tablet');
}
else {
alert('Not a Tablet');
}
问题:这段代码足够可靠吗?如果不是更好的方法是什么?
【问题讨论】:
-
许多电脑现在都支持鼠标和触控。
-
没错,有什么替代方案?用户代理?
-
如果你想手动解析它们,是的,用户代理是一个选项。
-
我应该考虑使用最小和最大屏幕分辨率吗?假设大多数触摸屏桌面都有更大的屏幕?
-
另一种方法是不检测“平板电脑”。检测特征。仅在支持触摸事件时才添加某些功能;仅当存在某个最小尺寸时才添加某些页面元素。如今,移动设备涉及的变量太多,一个真正响应式的网站并不关心它是在“平板电脑”、“智能手机”还是“桌面”上查看的,而只关心可用的功能。为此,modernizr.com 是首选工具。
标签: javascript jquery tablet