好的,所以我已经研究了一段时间了,似乎有几种方法可以做到这一点,CSS媒体查询检测屏幕大小,htaccess和javascript。
我更愿意选择htaccess路线,因为据我所知,平板电脑的分辨率为1024px。这会不会影响桌面分辨率?此外,htaccess让我有机会为平板电脑和移动浏览器制作一个全新的网站,但我如何检测它是平板电脑还是手机?我不想要检测它是否是谷歌Nexus与HTC Desire或iPhone,对抗iPad,Acer Iconia,Xoom等。
有没有办法检测平板电脑,手机或台式电脑,而不必包含每一个品牌和型号? (for example as here。)
答案 0 :(得分:6)
我建议您使用Modernizr。
它在客户端浏览器上使用Javascript来检测对各种浏览器功能的支持,包括触摸事件,并为您提供CSS类和Javascript对象,您可以使用它来调整您的站点以适应用户的浏览器。
我总是避免在服务器上进行浏览器检测(即在.htaccess或服务器端代码中),因为它不可靠 - 服务器可用于检测客户端环境的数据以纯文本形式发送很容易被欺骗或黑客攻击。更重要的是,它通常也会被代理和隐私应用程序所压制。
答案 1 :(得分:2)
如果要使用.htaccess检测移动浏览器,则必须列出其名称(至少是最独特的部分)。例如,它可以通过单个重写规则来完成(取自SO上的另一个问题):
RewriteCond %{HTTP_USER_AGENT} "android|blackberry|ipad|iphone|ipod|iemobile|opera mobile|palmos|webos|googlebot-mobile" [NC]
RewriteCond %{REQUEST_URI} !^/mobile.php
RewriteRule .* /mobile.php?url=%{REQUEST_URI} [L]