我创建了一个Web应用程序,现在将其转换为Cordova应用程序。当我将其部署到Windows Phone 8.1设备时,文本非常小,比同一设备上的浏览器中的文本小得多。我现在创建了一个迷你应用程序,它只显示一行文本,这里也是,Cordova应用程序中的文本很小,如果我在同一部手机的浏览器中运行,文本的大小是正常的。
我尝试将其创建为Windows Phone 8应用程序,然后文本大小合适。
我玩了一下视口元标记,没有做任何更改。
您可能会遇到一个问题,即某些web框架使用768px有效宽度的设备进入"iPad模式"。这是Twitter引导程序的常见问题。
有一些修复建议,比如这个,尽管你需要检测IE 11而不是10:https://timkadlec.com/2013/01/windows-phone-8-and-device-width/
Windows Phone实现中存在一个错误,它没有以正确的方式计算视口的大小。这在Windows Phone Update 3(8.0.10512)中得到了修复,但不幸的是,诺基亚Lumia 920没有修复。因此,建议的解决方法是添加以下脚本:
if (navigator.userAgent.match(/IEMobile/10.0/)) {
var msViewportStyle = document.createElement("style");
msViewportStyle.appendChild(
document.createTextNode("@-ms-viewport{width:auto!important}")
);
document.getElementsByTagName("head")[0].
appendChild(msViewportStyle);
}
如果你正在构建一个Cordova应用程序,那么将样式添加到Windows Phone的样式表中就足够了:
@-ms-viewport {
width: auto !important;
}