2

編集:[ストックIOSブラウザでも次のすべてが発生します]

ローカル HTML ページをロードする UiWebView があります。ページのコンテンツは JS によって動的に管理されるため、縦方向に拡大または縮小する場合があります。

レイアウトは次のとおりです。

<div id="myContainer">
Some text here
</div>

テキスト コンテンツが大きくなり、垂直スクロールが必要になる可能性がありますが、すべて正常に動作しています。

新しいコンテンツをロードするときはいつでも、次を使用します。

container.innerHTML = '';
container.appendChild(newContent);

繰り返しますが、すべて問題ありません。

ページを垂直にスクロールすると問題が発生しました。大きなコンテンツをロードすると、スクロールは正しく管理されますが、小さなコンテンツをロードすると、ページは大きなコンテンツによって設定された同じ大きなサイズを保持し、未使用の空白がたくさんあります最後にスペース。

ページを垂直にスクロールしようとしない場合、問題は発生しません (たとえば、大きなコンテンツをロードし、スクロールせず、小さなコンテンツをロードします => スクロールは問題なく、ページは後者に縮小)。これは非常に奇妙です。ScrollView ロジックまたは Webkit エンジンで何かが壊れている可能性があると思います。

innerHTML = ''appendChildの間のタイムアウトを使用して、すでに試しました。ここでは運がありません。

この問題は、デスクトップ ブラウザーや Android モバイル ブラウザー/WebView ではなく、IOS ストック ブラウザーと UiWebView でのみ発生しています。

誰でも助けてもらえますか?

ありがとう

編集:この場合、空白の URL などを参照して UiWebView をリロードすることは適切な方法ではありません。私のアプリは完全に JS であり、毎回アプリを再起動することはできません。

4

1 に答える 1

0

最後に、私はこれに対する修正に出くわしました。他の誰かを助けるためにここに投稿します。問題は、縮小しない含まれる div に関するものでした。コンテンツを変更しながらコンテナの高さをゼロに設定すると、正しいサイズに戻ります。

container.innerHTML = '';
container.style.height = '0px';
container.appendChild(newContent);
于 2012-11-12T19:51:22.280 に答える