【问题标题】:Detecting tablets and phones, htaccess or CSS检测平板电脑和手机、htaccess 或 CSS
【发布时间】:2011-09-29 18:34:42
【问题描述】:

好的,所以我已经研究了一段时间,似乎有几种方法可以做到这一点,检测屏幕大小的 CSS 媒体查询、htaccess 和 javascript。

我更愿意走 htaccess 路线,因为据我所知,平板电脑现在有 1024 像素的分辨率。这不会干扰桌面分辨率吗? htaccess 也让我有机会为平板电脑和移动浏览器创建一个全新的网站,但我该如何检测它是平板电脑还是手机?我不想检测它是 Google Nexus 还是 HTC Desire 或 iPhone,与 iPad、Acer Iconia、Xoom 等相比。

有没有一种方法可以检测平板电脑、手机或台式电脑,而无需包含每个品牌和型号? (for example as here.)

【问题讨论】:

    标签: html css .htaccess smartphone tablet


    【解决方案1】:

    如果您想使用 .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]
    

    【讨论】:

      【解决方案2】:

      我建议为此使用Modernizr

      它在客户端浏览器上使用 Javascript 来检测对包括触摸事件在内的所有浏览器功能的支持,并为您提供 CSS 类和 Javascript 对象,您可以使用它们来调整您的网站以适应用户的浏览器。

      我总是避免在服务器上进行浏览器检测(即在 .htaccess 或您的服务器端代码中),因为它不可靠——服务器可以用来检测客户端环境的数据以纯文本形式发送,并且很容易被欺骗或被黑客入侵。更重要的是,它通常也被代理和隐私应用程序抑制。

      【讨论】:

      • 这是一个很好的资源,但我肯定在寻找一种方法来为桌面和移动/平板电脑版本创建两种不同的 HTML 结构..
      猜你喜欢
      • 2012-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多