当用户点击“后退”按钮时,Safari和Safari ios mobile会使用bfcache。返回上一个html页面。没有其他浏览器移动或桌面具有我能找到的这种行为。我用Google搜索并发现许多人抱怨同样的事情,但没有任何解决方案与Safari ios。我确实找到了Safari桌面的这个修复程序(在Windows上测试过)但它不适用于Safari ios。
window.onbeforeunload = function()
{
// This function does nothing. It won't spawn a confirmation dialog
// But it will ensure that the page is not cached by the browser.
};
window.onunload = function()
{
// Needed in OP in order to avoid caching. May also be needed in Safari.
};
有人知道如何为Safari ios做这件事吗?
我想要这样做的原因是,在进入下一个网页之前,我在某些情况下显示了微调器指示符和模态。如果用户单击后退按钮,Safari ios将使用缓存,并且微调器和/或模态仍然存在。
有什么想法吗?
答案 0 :(得分:0)
在window.onbeforeunload
回调中隐藏微调器div是什么意思?浏览器缓存实际上很酷......
答案 1 :(得分:0)
您可以使用此功能检测pageshow事件。 pageshow告诉你它是否来自bfcache。
参考:https://developer.mozilla.org/en-US/docs/Working_with_BFCache
window.addEventListener('pageshow', function(event) {
doSomething();
}
https://developer.mozilla.org/en-US/docs/Working_with_BFCache