【问题标题】:Screen resolution detection屏幕分辨率检测
【发布时间】:2013-09-25 11:20:14
【问题描述】:

我知道有人问过类似的问题,但这次不同。

简介:我正在尝试制作一个具有自适应设计的网站(3 个模板,3 个宽度间隔如下:1200+px、600-1200px、600-px)。

问题:我很难检测用户屏幕宽度。 我知道只有 js 可以检测用户屏幕大小,所以我尝试了两种检测方法。 1. 首先,我使用 cookie 来存储宽度,但因为 cookie 仅在刷新后才变为活动状态,所以我需要刷新页面。 2. 第二个 o 曾经使用 GET 将宽度作为参数发送,但我需要再次刷新页面才能发送参数。

所以问题是:有没有办法在不刷新页面的情况下获取屏幕大小(存储在 cookie/会话中的值)。我需要在第一次访问页面时提供正确的模板。

如果宽度检测没有解决方案(仅需要 refrest),如何解决爬虫的问题,使他们看不到重定向。

【问题讨论】:

  • 为什么不通过 javascript 而不是 php 检测和获取模板文件?
  • 最好创建无尺寸模板。
  • @Joran: 因为是一个使用php的drupal网站。
  • @RotariRadu Drupal 也使用 html/css/js。

标签: javascript php redirect screen resolution


【解决方案1】:

【讨论】:

  • 我知道正确的做法是使用媒体查询,但是布局只会阻止显示某些数据,不同的模板会阻止加载数据。这就是为什么我想使用模板而不是布局。
【解决方案2】:

我认为您以错误的方式处理此问题。 css @media 查询肯定是这样做的吗?

如果出于某种原因您确实需要 Javascript 中的宽度,那么您可以这样做

jQuery:

$(document).width();

JavaScript:

document.body.clientWidth

如果可以的话,我会修改你的方法..?

【讨论】:

    【解决方案3】:

    我最终使用了 DDR(设备描述存储库),正是这个:http://wurfl.sourceforge.net/ 它工作得很好,并在 Firefox 上提供了很多细节。 无需使用 CSS 或 JS。

    【讨论】:

      猜你喜欢
      • 2017-12-13
      • 1970-01-01
      • 1970-01-01
      • 2011-06-05
      • 2011-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多