Css 返回Safari 9中的页面时,y形滚动不工作

Css 返回Safari 9中的页面时,y形滚动不工作,css,scroll,safari,scrollbar,overflow,Css,Scroll,Safari,Scrollbar,Overflow,safari中此页面上的y形卷轴溢出时遇到问题: 如果转到“详细信息”选项卡,然后单击页面下方的某个链接并转到另一个页面,当您按“上一步”按钮再次返回产品页面时,overflow-y滚动条会突然停止工作 有人知道这个问题可能是什么吗 关于如果将{-webkit overflow scrolling:touch}添加到溢出div的CSS中,应该可以解决问题。副作用是,如果你像安卓那样自然地滑动div,它现在会一直滚动。我也有同样的问题(在mac-iOS上工作得很好)。这似乎是Safari的bfc

safari中此页面上的y形卷轴溢出时遇到问题:

如果转到“详细信息”选项卡,然后单击页面下方的某个链接并转到另一个页面,当您按“上一步”按钮再次返回产品页面时,overflow-y滚动条会突然停止工作

有人知道这个问题可能是什么吗


关于

如果将{-webkit overflow scrolling:touch}添加到溢出div的CSS中,应该可以解决问题。副作用是,如果你像安卓那样自然地滑动div,它现在会一直滚动。

我也有同样的问题(在mac-iOS上工作得很好)。这似乎是Safari的bfcache(后退和前进缓存)中的一个bug。我真的没有什么好的解决方案,但您可以强制重新查找页面:

<script>
var is_chrome = navigator.userAgent.indexOf('Chrome') > -1;
var is_safari = navigator.userAgent.indexOf("Safari") > -1 && !is_chrome;
if (is_safari) {
    window.onpageshow = function(event) {
        if (event.persisted) {
            window.location.reload() 
        }
    };
}
</script>

var是_chrome=navigator.userAgent.indexOf('chrome')>-1;
var是_safari=navigator.userAgent.indexOf(“safari”)>-1&&!是铬;
如果(是野生动物园){
window.onpageshow=函数(事件){
if(event.persistend){
window.location.reload()
}
};
}