为什么我的Cordova应用程序在Windows Phone 8.1设备上的字体非常小



我创建了一个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;
}

最新更新