编辑:[即使在IOS浏览器上也会发生以下所有情况]
我有一个加载本地HTML页面的UiWebView。 页面的内容由JS管理,因此它可能会垂直增长或缩小。
布局是:
<div id="myContainer">
Some text here
</div>
文本内容可能会长大,需要垂直滚动,一切正常。
每当我加载新内容时,我都会使用:
container.innerHTML = '';
container.appendChild(newContent);
同样,一切都很好。
当我垂直滚动页面时出现问题:如果我加载大内容,滚动管理正确,但我加载了一个小内容,页面保持大内容设置相同的大尺寸,很多最后未使用的空白区域。
如果我没有尝试垂直滚动页面,问题就不会出现(例如,我加载大内容,我不滚动,然后我加载小内容=&gt;滚动很好,页面缩小到后者)。这很奇怪,我认为在ScrollView逻辑或Webkit引擎中可能会破坏某些东西。
我已经尝试过使用 innerHTML =&#39;&#39; 和 appendChild 之间的超时。 这里没有运气。
我在IOS股票浏览器上遇到此问题&amp; UiWebView,不在任何桌面浏览器上,也不在Android移动浏览器/ WebView上。
有人可以帮忙吗?
由于
编辑: 在这种情况下,通过浏览空白URL或其他任何内容重新加载UiWebView不适用:我的应用程序完全是JS,我绝对无法每次重启应用程序。
答案 0 :(得分:0)
最后,我遇到了一个修复此问题,我在这里发布,以便它可以帮助其他人。问题是关于不会缩小的包含div。我只是在更改其内容时将容器的高度设置为零,并返回到正确的大小:
container.innerHTML = '';
container.style.height = '0px';
container.appendChild(newContent);