我有一个固定的顶部导航栏,当页面内容被滚动时,它始终位于所有内容的顶部。我注意到在 Chrome for iOS 和 Safari 独立模式下,固定栏在页面卸载时会在任何其他元素之前消失。如何让所有元素,无论定位如何,同时消失?
演示:http://kodu.ut.ee/~b04866/demo/demo.html在 Chrome for iOS 中加载页面,反复点击刷新。观察固定的 div 是如何先消失的,然后是其余的内容,最后是页面被重绘。
Best Answer-推荐答案 strong>
固定元素被提升到一个合成层
并且页面卸载有相应的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/
|