【发布时间】:2010-12-30 18:56:33
【问题描述】:
对于我当前的移动网络项目,我使用元“视口”标签来指示移动浏览器使用 1:1 与设备宽度的比例:
<meta name="viewport" content="initial-scale=1.0, width=device-width, height=device-height, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" />
这适用于 IE mobile、iPhone Safari 甚至 Opera 10 beta,但不适用于 Opera 9.7,它默认安装在 HTC HD2 上。 HTC HD2 的设备尺寸为 480x800,因此在纵向模式下视口的宽度应为 480。但显然 Opera mobile 9.7(也许还有 9.5)设置了错误的宽度,所以之后一切都被放大了一点。我使用了一个简短的 javascript sn-p 来检查实际的窗口大小:
$(window).width() -> 返回 274
window.innerWidth -> 返回 480
当我硬编码 480 而不是“设备宽度”时,一切正常。横向模式也一样:
$(window).width() -> 返回 457
window.innerWidth -> 返回 800
有什么解决方法吗?
问候
【问题讨论】:
-
我有一个 htc hd2,但我总是得到 960 的宽度!我试过window.screen.width,我总是得到480!无论如何高度总是800,这是一个错误吗?!
-
今天我尝试:document.body.offsetWidth 同时将视口元标记设置为 240,我得到了 236!是的,但除非页面为空,否则我仍然无法获得准确的高度值
-
我今天尝试的新东西,在 C# Request.Browser.ScreenPixelsWidth.ToString() 中返回 640!我想我可以用它来区分某些屏幕,但是不!
-
您是否将 mobile.browser 文件添加到您的项目中?此外,还有一个新的 Mobile .NET MVC 替代方案取代了 Microsoft 的旧移动计划......
-
Jan,您能否给我一个指向该 .NET MVC 替代方案的链接,因为无论如何我现在都在大量使用 MVC。
标签: windows-mobile opera mobile-website