单击“后退”按钮时,Safari浏览器加载旧的youtube视频时出现问题。我尝试将onunload=“”此处提到[防止Safari5中的后退按钮缓存添加到body标签,但是在这种情况下不起作用。
有什么方法可以防止从某个页面的缓存中加载safari?
您的问题是由后退缓存引起的。当用户离开时应该保存页面的完整状态。当用户使用后退按钮导航时,可以非常快地从缓存中加载页面。这与仅缓存HTML代码的普通缓存不同。
为bfcache加载页面时,onload不会触发事件。相反,您可以检查事件的persisted属性onpageshow。初始页面加载时将其设置为false。从bfcache加载页面时,将其设置为true。
onload
persisted
onpageshow
Kludgish解决方案是在从bfcache加载页面时强制重新加载。
window.onpageshow = function(event) { if (event.persisted) { window.location.reload() } };
如果您使用的是jQuery,请执行以下操作:
$(window).bind("pageshow", function(event) { if (event.originalEvent.persisted) { window.location.reload() } });