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

时间:2015-12-16 21:38:47

标签: javascript cordova windows-phone-8.1 windows-phone visual-studio-cordova

我创建了一个Web应用程序,现在将其转换为Cordova应用程序。当我将其部署到我的Windows Phone 8.1设备时,文本非常小,比同一设备上的浏览器小得多。我现在创建了一个迷你应用程序,只显示一行文本,同样在这里,文本在Cordova应用程序中很小,如果我在浏览器中在同一部手机上运行它,则文本大小正常。

我尝试将其创建为Windows Phone 8 App,然后文本大小合适。

我使用了视口元标记,没有改变任何内容。

2 个答案:

答案 0 :(得分:1)

您可能遇到某些网页框架进入" iPad模式"设备的有效宽度为768px。这是Twitter引导程序的常见问题。

虽然你需要检测IE 11而不是10:https://timkadlec.com/2013/01/windows-phone-8-and-device-width/

,但有一些修正建议,比如这个

答案 1 :(得分:1)

Windows Phone实施中存在一个错误,它没有以正确的方式计算视口的大小。这已在Windows Phone Update 3(8.0.10512)中修复,但遗憾的是不适用于Nokia Lumia 920.因此,建议的workaround是添加以下脚本:

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;
}