11

Android アプリはイベントで無効なサイズ (320x480) を返しますonDeviceReadyが、数秒後に正しいサイズになります。

最初に正しいサイズを取得するにはどうすればよいですか? または、正しいサイズを取得できるイベントはありますか?

この関数を使用してサイズを取得しています:

function getWindowSizes() {
  var windowHeight = 0, windowWidth = 0;
  if (typeof (window.innerWidth) == 'number') {
      windowHeight = window.innerHeight;
      windowWidth = window.innerWidth;
      
  } else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
      windowHeight = document.documentElement.clientHeight;
      windowWidth = document.documentElement.clientWidth;
      
  } else if (document.body && (document.body.clientWidth || document.body.clientHeight)) {
     windowHeight = document.body.clientHeight;
     windowWidth = document.body.clientWidth;
  }
  return [windowWidth, windowHeight];
}

ビューポート:

<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />

Cordova 2.5.0 を使用しています。

UPD:
このスクリーンショットでわかるように、アプリケーションは小さいサイズで起動します。空の Cordova プロジェクトでさえこれを行います。どうすればこれを修正できますか?

ここに画像の説明を入力

ありがとう!

4

3 に答える 3

3

メタ ヘッダー インデックスの高さ、幅、および密度のプロパティを削除します。

于 2013-03-29T14:47:29.720 に答える
1

ヘッダーの target-densitydpi を削除してみてください。

デバイスの dpi は物理ピクセルに基づいていますが、css ピクセルは論理ピクセルであり、互いに異なる場合があります。強制的に同じにすると、画面が引き伸ばされます。

window.devicePixelRatio で変換結果が得られる場合があります。 (Webkit の場合)

アップデート:

このリンクは、それがどのように機能するかについての詳細を提供します: https://petelepage.com/blog/2013/02/viewport-target-densitydpi-support-is-being-deprecated/

于 2013-09-13T13:49:41.817 に答える
0

app クラス (index.css 内) の position:absolute プロパティを削除してみてください。これは私にとってはうまくいきます。

于 2013-09-05T10:10:35.597 に答える