【问题标题】:Dynamic viewport resizing - Phonegap ignores viewport动态调整视口大小 - Phonegap 忽略视口
【发布时间】:2014-01-27 23:34:15
【问题描述】:

我正在使用以下代码“将我的应用调整为显示它的设备的屏幕尺寸:

$(function() {
  if( /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent) ) {
    var ww = ( $(window).width() < window.screen.width ) ? $(window).width() : window.screen.width; //get proper width
    var mw = 600; // min width of site
    var ratio =  ww / mw; //calculate ratio
      if( ww < mw){ //smaller than minimum size
      $('#vp').attr('content', 'initial-scale=' + ratio + '; maximum-scale=' + ratio + '; minimum-scale=' + ratio + '; user-scalable=yes; width=' + mw);
    }else{ //regular size
     $('#vp').attr('content', 'width=device-width; initial-scale=1.0');
    }
  }
});

我有一个 Nexus 4。如果我使用 chrome 打开网站,它就可以正常工作。 但是,如果我使用 phonegap,它只会忽略视口元标记。 (脚本正在运行,元标记的结果内容与使用浏览器时相同)。 我看到有很多关于忽略视口元标记的 phonegap 的问题,但其中很少有人提供任何解决此问题的方法。

【问题讨论】:

    标签: javascript android cordova viewport


    【解决方案1】:

    PhoneGap 在 KitKat (4.4) 之前使用 Android WebView,Android WebView 不支持特定宽度的视口。解决方案是使用支持自定义视口支持的库。

    一个选择是monaca.viewport.js,它分布在GitHub:https://github.com/monaca/monaca.js,这里是API reference

    这个库也是Monaca 的一部分,Monaca 是一个免费的基于云的 PhoneGap 开发工具。

    【讨论】:

    • 我试试看!所以你的意思是,从 kitkat 开始,它应该可以正常工作?我正在使用 sdk19,我的手机是运行 kitkat 的 nexus 4。
    • 应该在这种情况下工作。更多信息可以从这里找到:developer.android.com/guide/webapps/migrating.html
    • monaca.viewport.js 可以直接包含进来,效果很好。无需使用整个 monaca 生态系统。
    猜你喜欢
    • 2011-06-22
    • 1970-01-01
    • 2019-01-23
    • 2021-04-26
    • 2021-05-25
    • 1970-01-01
    • 2011-09-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多