在非移动页面上检测移动设备屏幕宽度和高度

时间:2012-09-11 21:46:53

标签: javascript css height width

我在页面上没有格式化为移动设备的div元素。我不想将此页面格式化为移动友好。单击时,div将扩展为移动设备的大小。当div在空白页面上时,这种方法有效,但当div位于一个充满内容的页面上时,它不起作用。我试图用多种方法来检测屏幕或窗口的高度/宽度,但它从未正确缩放。我认为发生的是:

div正确检测设备的像素宽度和高度 - 因此对于Droid Razr Maxx,它会检测540x960的纵向。由于这是一个非移动网站,因此网站的格式为缩小视图。我不想调整实际网页的缩放机制,因此div被格式化为540x960,但是相对于文档的大小 - 而不是实际的屏幕。

我需要做的是检测可见帧的像素大小,并将div调整为相对于屏幕而不是页面的大小。或者我需要在缩小模式下检测页面的大小 - 然后缩放到那个?

不幸的是,我目前无法提供示例代码。

有人可以协助吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

如果没有示例代码就很难确切地知道您要完成的任务,但我会解释我的理解以及可能的解决方案。

听起来你有一个元素,当点击时,会扩展到屏幕的宽度。但是,在手机中,屏幕!=页面。您希望元素仅保持与屏幕一样宽 - 无论缩放级别如何。

如果我正确地理解了这一点,那么听起来你可能需要创建一些jQuery(或POJS)来调整窗口的大小而不是页面的大小。 window.innerWidth属性在用户缩放时更新。您可以使用此值而不是clientWidth或任何类似的值。

以下是使用window.innerWidth获取缩放级别的示例:

Detect page zoom change with jQuery in Safari