それで、私は Web アプリの kool-aid を飲み干し、Android ネイティブ アプリの作成から Web アプリの作成に切り替えています。
しかし、アドレスバーのある Android ブラウザーで非常に悪い問題が発生しています (更新: 具体的には、Android 2.3.3 を実行している私の HTC Desire Z、影響を受ける他のバージョンの数はわかりません):
- 問題 1: ページの読み込み中に、アドレス バーでコンテンツの上部 ~30 ピクセルが非表示になります。(一体どうしてこんなことをするの!?)
- 問題 2: 状況によっては、アドレス バーが消えないことがあります。これは、接続速度が遅いときにポートレートで発生します。
そのため、場合によっては、アドレス バーでコンテンツの上位 30 ピクセルが完全に非表示になります。これは深刻に壊れています。
これを修正するために、別の StackOverflow の質問からいくつかのコードを借りました。
if (navigator.userAgent.match(/Android/i)) {
window.scrollTo(0,0); // reset in case prev not scrolled
var nPageH = $(document).height();
var nViewH = window.outerHeight;
if (nViewH > nPageH) {
nViewH = nViewH / window.devicePixelRatio;
$('BODY').css('height',nViewH + 'px');
}
window.scrollTo(0,1);
}
しかし、それは確実に機能していないようです-それが恐ろしい解決策であることは言うまでもありません. 私に何ができる?