我有一个固定的顶部导航栏,当页面内容滚动时,该导航栏位于所有内容的顶部。我注意到,在 iOS 版 Chrome 和 Safari 独立模式中,固定栏在页面卸载时会先于任何其他元素消失。如何使所有元素,无论位置如何,同时消失?
演示:http://kodu.ut.ee/~b04866/demo/demo.html在 iOS 版 Chrome 中加载页面,重复单击“刷新”。观察固定 div 如何首先消失,然后是其余内容,最后是页面被重绘。
最佳答案
固定元素被提升到合成层 并且页面卸载时也存在相应的bug。
"[...] 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/