【发布时间】:2014-11-25 16:15:06
【问题描述】:
一位用户报告说他的手机上的 Viewport 元标记被忽略了,但它在我测试过的任何地方都可以使用。为什么视口可以在一台 Android 设备上工作而在另一台具有相同操作系统版本的设备上失败?
这是在 Phonegap 3.5 Android 应用程序上,该应用程序将所有内容布置为设定大小 (1800x1200),然后使用视口将其缩放到设备的大小,如下所示:
var scale = windowHeight/appHeight;
var vport = "width=device-width, user-scalable=0, initial-scale="+scale+",
minimum-scale="+scale+", maximum-scale="+scale;
document.getElementById("viewport").setAttribute("content", vport);
这在我尝试过的任何地方都可以正常工作。在最新的 Firefox 和 Chrome 中工作,在编译到 Android 并在 Nexus 5 或 Nexus 10 或 Galaxy 3 上运行时工作,在 SDK 19、20 或 21 的模拟器上运行时工作。我见过的唯一地方fail 在 SDK 17 (Android 4.2.2) 或更低版本上,但这应该不是问题,因为我将 android-minSdkVersion 设置为 19 (Android 4.4.2)。
我的问题是用户报告说他的 Sony Xperia Z 上的 Viewport 设置被忽略(文本很大)。所以我的问题是,Viewport 支持如何在具有相同操作系统的手机上有所不同?例如,两部 4.4.2 的手机是否可以有不同的 webkit?
编辑 - android-minSdkVersion 是否可能被忽略?我无法确认用户的 SDK 版本,但是当我尝试将生产 apk 安装到 4.2.2 模拟器时,它让我。我预计会出现“不支持的 sdk”错误之类的......
【问题讨论】:
标签: android cordova viewport cordova-3