ios - 固定定位元素在页面卸载时消失

标签 ios css google-chrome fixed iphone-standalone-web-app

我有一个固定的顶部导航栏,当页面内容滚动时,该导航栏位于所有内容的顶部。我注意到,在 iOS 版 Chrome 和 Safari 独立模式中,固定栏在页面卸载时会先于任何其他元素消失。如何使所有元素,无论位置如何,同时消失?

演示:http://kodu.ut.ee/~b04866/demo/demo.html在 iOS 版 Chrome 中加载页面,重复单击“刷新”。观察固定 div 如何首先消失,然后是其余内容,最后是页面被重绘。

最佳答案

固定元素被提升到合成层 并且页面卸载时也存在相应的bug。

来自https://web.archive.org/web/20160509083333/https://newscentral.exsees.com/item/528d72c6d22fab46e4eb18e5cb8fece0-0d5a1eca143f58f995dc015e265514cb :

"[...] composited layers upon document unload are destroyed much faster than elements that are not [...] This has been confirmed by a WebKit engineer to be a bug."

希望:

iOS 8 引入了一个新的更快的 Web View 组件:WKWebView。 Safari 使用它。使用 Safari 时问题就消失了:) 我不知道 Chrome 在 iOS 8 下是否受到影响。

我比较了 iOS 8 下常见的 UIWebView 和新的 WKWebView。 使用 UIWebView 显示 html/web 内容的应用程序仍然受到该问题的影响:(

关于ios - 固定定位元素在页面卸载时消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30098000/

相关文章:

html - 为什么 float block 必须在前面?

css - 此页面上的元素标题如何对齐

html - 如何反转 HTML 元素背景图像中的颜色?

html - Firefox 忽略的最大高度

javascript - Google Chrome 与 Edge 中的 Html 动画不同。自动播放解决对动画的帮助?

ios - 收到推送通知时打开特定的标签栏

ios - 为什么 iOS 5.0 不喜欢纯窗口应用程序?为什么它要求使用 View Controller ?

ios - 如何将 NSUUID 表示为字符串?

javascript - Google Chrome - 加载新标签时覆盖白色空白页面

ios - 在几秒钟内重新加载 UiPageViewController