基于浏览器分辨率重定向URL

时间:2012-08-29 05:47:16

标签: php jquery css

如果用户使用小于1024x600的分辨率,我希望它将它们重定向到我网站的移动版本。现在我正在使用JQuery,如果分辨率小于1024x600,它将被重定向到移动版本。我担心这是不是一个好的做法(使用脚本重定向),如果它现在是你的建议(因为据我所知,PHP无法检测浏览器分辨率)?

任何建议都将不胜感激,谢谢。

PS。我使用的是一个全高度的网站,在1024x600或更大的分辨率下看起来不错,但在较小的网站上看不到,所以我将移动版本设置为全高网站和移动支持。我不想使用浏览器检测,因为我希望具有高分辨率的移动设备访问标准网站。

编辑: 我传递了一个全高单页水平站点的设计,我很难做出响应(如果内容是流畅的,那么它将不是全高度,没有垂直滚动)所以我做了一个移动版本

3 个答案:

答案 0 :(得分:4)

根据特定情况,重定向到另一个页面绝对没问题。 但还有其他一些更好的方法。

要解决您的问题,请了解types of layouts

流体布局最适合您的要求。理想情况下,您应该为各种视口使用相同的样式表集。

查看jQuery mobile的网站。尝试更改浏览器窗口大小,并查看内容如何自动“适合”您的窗口。你必须做同样的事情。 :)

它的流畅布局。 :)

PS:我建议不要使用CSS媒体查询。当然,它们会让你的生活变得更轻松,但是如果你只要CSS开始真正提高你的技能,那就试着用最少的高级功能来构建你的东西​​。

答案 1 :(得分:1)

可能最好的做法是使用CSS媒体查询根据用户的屏幕尺寸提供不同的CSS,除非您的移动和桌面网站完全不同。

你是对的,PHP无法确定最终用户的屏幕尺寸。

答案 2 :(得分:0)

最干净的设计是从服务器获取一组HTML / JS / CSS,并且页面使用CSS媒体查询和/或javascript的某种组合使自身适应可用的屏幕大小。

如果您无法做到这一点,或者您有其他理由希望从服务器获取不同的HTML,那么最好找到一种方法来避免客户端重定向,因为这些额外的往返旅行是不受欢迎的(特别是在移动设备上)。

某些网站在浏览器中设置了一个cookie,其中包含屏幕分辨率,除了第一次访问该网站外,服务器可以在呈现网站之前查看cookie中的屏幕分辨率,您可以避开客户端 - 重定向,可以根据cookie中的分辨率呈现所需的页面。

首次访问时(当时尚未设置Cookie),您执行客户端重定向并设置Cookie。

然后,如果用户更改了屏幕分辨率(通常不会发生这种情况),您还必须修改该Cookie。