8

因此,有一些方法可以使用 javascript 和 php 检测“移动”浏览器和屏幕尺寸。但是,屏幕尺寸总是以像素为单位返回,而如今,移动设备可能意味着任何事情。

我想知道移动设备的显示屏有多大,平板电脑随处可见是什么情况。这样做的原因是因为我想为小屏幕设备选择一个样式表,而其他所有设备都默认使用普通样式表。例如,我想要一个 iPad、kindle fire、hp touchpad 等来显示正常的样式表,但我想要一个不同的样式表用于手机或任何具有人手大小的显示器的设备。

现在,我猜测这样做的东西不存在,但也许有人想到了更好的方法或知道某处的数据库在某处具有屏幕尺寸的尺寸..hmm

..也许有一种方法可以找到像素密度,然后将屏幕宽度/高度(以像素为单位)应用于此..

4

6 回答 6

4

我实际上认为这是一个非常好的问题。目前令人不满意的情况是,在 10 英寸平板电脑上,默认情况下,您会获得一个巨大的、浪费空间的单栏“移动”网站,而桌面版本本来就很好。

不幸的是,正如 John Hunt 所发现的,即使 WURFL 也不能给出准确的物理屏幕尺寸。

一种半解决方法是一种启发式假设,如果 x 或 y 维度小于 768 像素,那么您正在使用电话 (*),因此默认情况下为您的网站提供单列“移动”版本。

您仍然应该始终允许访问者在移动设备或桌面设备之间进行选择。更好的是,只需将其称为您网站的“单列”或“窄宽度”版本,以避免用词不当。

(*) 为什么是 768 像素?因为所有重要的 10 英寸平板电脑至少为 1024x768 或 1280x800,而即使是 iPhone 5 或 HTC HD5 等大屏幕手机的宽度也小于 768 像素(iPhone 5 - 640x1136,HTC HD5 1280x720)。这可能不会在巨大的三星屏幕上工作,但在这些设备上,默认提供桌面版本并不那么烦人。

于 2012-11-12T11:20:29.103 回答
1

使用 wordpress 时,wp_is_mobile 函数存在相同的问题,因为它会为平板电脑和手机设置“移动”标志。我的问题是我希望手机在没有页面顶部图像滑块的情况下获得有限的页面,以加快网站下载/绘制速度。平板电脑的 wifi 访问速度通常比 3G 更快,或者实际上比 wifi 4g 慢。

我正在使用的响应式 wordpress 主题 Customizr 使用自动适应 twitter 引导程序,但在具有大图像页面的手机上运行仍然太慢。所以我的网站的问题不仅仅是屏幕大小或分辨率,而是数据和屏幕绘制速度。

Rocco Aliberti 在 Themesandco 网站上的这个论坛中提出了一个有用的建议,即结合浏览器检测插件设置 is_tablet 函数,然后将其与内置的 wordpress wp_is_mobile 函数结合以获得“wp_is_mobile() && !is_tablet()” - 例如设备是移动设备,而不是平板电脑。 http://www.themesandco.com/support-forums/topic/jetpack-mobile-issue/#post-23308

于 2014-06-01T19:00:36.317 回答
0

http://wurfl.sourceforge.net/nphp/

看起来您可以从 WURFL API 中获取此信息..cool!

于 2011-11-23T04:32:17.057 回答
0

innerWidth无论您是在台式机还是手机中,您都可以通过 javascript 检查屏幕尺寸给/返回设备的宽度,更多过滤器您可以使用此 javascriptinnerWidth代码作为用户代理。

然后,您可以根据屏幕大小应用 css。

于 2014-06-01T19:05:17.467 回答
0

我认为正确的答案是使用响应式布局方法,因为您永远无法在所有各种设备上都正确使用(每天都有 100 多个新设备......)

于 2012-12-19T11:35:42.023 回答
0

您可以使用像 Bootstrap 这样的框架来显示/隐藏基于屏幕分辨率的列或数据。就显示而言,这很好用。

但理想情况下,您还希望您的脚本语言知道这一点,这样它就不会处理/执行某些不会被引导程序显示的数据。

目前浏览器代理不提供屏幕分辨率。应该启用它,因为现代网站必须至少响应流行的移动设备、平板电脑和计算机。

这是我对 HTTP/W3c/Browser 实现的未来版本的愿望清单。

于 2013-09-18T12:43:16.797 回答