IOS浏览器一旦滚动就不会缩小页面内容

标签 ios webkit

编辑:[即使在股票 IOS 浏览器上也会发生以下所有情况]

我有一个加载本地 HTML 页面的 UiWebView。
页面的内容由 JS 动态管理,因此它可以垂直增长或缩小。

布局是:

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

文本内容可能会增长到需要垂直滚动,并且一切正常。

每当我加载新内容时,我都会使用:
container.innerHTML = '';
container.appendChild(newContent);

再次,一切都很好。

当我垂直滚动页面时出现问题:如果我加载一个大内容,滚动管理正确,但是我加载一个小内容并且页面保持由大内容设置的相同大尺寸,有很多未使用的空白最后的空间。

如果我从不尝试垂直滚动页面,则不会出现问题(例如,我加载大内容,我不滚动,然后我加载小内容 => 滚动很好,页面是缩小为后者)。这很奇怪,我认为 ScrollView 逻辑或 Webkit 引擎中可能会出现问题。

我已经尝试在 innerHTML = '' 和 appendChild 之间使用超时。
这里没有运气。

我只是在 IOS 股票浏览器和 UiWebView 上遇到这个问题,而不是在任何桌面浏览器或 Android 移动浏览器/WebView 上。

有人可以帮忙吗?

谢谢

编辑:
在这种情况下,通过浏览空白 URL 或其他任何内容来重新加载 UiWebView 不是一种适用的方式:我的应用程序完全是 JS,我绝对不能每次都重新启动应用程序。

最佳答案

最后,我遇到了一个解决方案,我在这里发布,以便它可以帮助其他人。问题在于不会缩小的包含 div。我只是在更改其内容时将容器的高度设置为零,然后它返回正确的大小:

container.innerHTML = '';
container.style.height = '0px';
container.appendChild(newContent);

关于IOS浏览器一旦滚动就不会缩小页面内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13349146/

相关文章:

ios - 调用超方法时跳过父类(super class)?

css - 有什么方法可以只检测带有 CSS 的 Android 浏览器吗?

c# - 将 ObjectForScripting 属性添加到 WebKitBrowser

ios - 提醒不起作用

ios - 日期未保存到核心数据对象

ios - 如何在 swift 中使用 IGListKit 创建一个两列的 Collection View 列表

ios - 用于更安全的键值编码的 Justin Spahr-Summers 宏如何工作?

css - WebKit 的 Internet Explorer 兼容样式表?

iOS/iPadOS safari 推送 api 支持

html - 网站布局在 webkit 中损坏,但在重新加载后会更正