物理屏幕大小'检测'基于PHP / javascript中的用户代理

时间:2011-11-23 04:28:16

标签: php javascript css device screen-size

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

我希望能够知道设备在移动时的显示效果,平板电脑随处可见。原因是因为我想为具有小屏幕的设备选择样式表,并为其他所有设备默认使用普通样式表。例如,我想要一个iPad,点燃火,hp触摸板等来显示正常的样式表,但我想要一个不同的手机样式表或任何显示人手大小的设备。

现在,我猜想要做的事情不存在,但也许某人想到了更好的方法,或者知道某个地方的某个地方有某种尺寸的屏幕尺寸......嗯

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

6 个答案:

答案 0 :(得分:4)

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

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

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

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

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

答案 1 :(得分:1)

使用wordpress时,wp_is_mobile功能会遇到与设置" 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

答案 2 :(得分:0)

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

看起来你可以从WURFLAPI..cool获取此信息!

答案 3 :(得分:0)

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

答案 4 :(得分:0)

您可以使用Bootstrap等框架根据屏幕分辨率显示/隐藏列或数据。就显示而言,这很好用。

但理想情况下,您还希望您的脚本语言能够知道这一点,以便它不会处理/执行某些不会被bootstrap显示的数据。

此时浏览器代理不提供屏幕分辨率。应该启用哪个,因为现代网站必须至少响应流行的手机,平板电脑和计算机。

这是我未来版本的HTTP / W3c /浏览器实施的愿望清单。

答案 5 :(得分:0)

您可以通过javascript innerWidth检查屏幕大小,无论您是在桌面还是手机中,都可以给出/返回设备的宽度,您可以使用此javascript innerWidth过滤您的用户代理代码。

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