移动Safari后退按钮[重复]

移动Safari后退按钮[重复],第1张

移动Safari后退按钮[重复]

这是由后退缓存引起的。当用户离开时应该保存页面的完整状态。当用户使用后退按钮导航时,可以非常快地从缓存中加载页面。这与仅缓存HTML代码的普通缓存不同。

为bfcache加载页面时,

onload
不会触发事件。相反,您可以检查事件的
persisted
属性
onpageshow
。初始页面加载时将其设置为false。从bfcache加载页面时,将其设置为true。

window.onpageshow = function(event) {    if (event.persisted) {        alert("From back / forward cache.");    }};

由于某种原因,jQuery事件中没有此属性。您可以从原始事件中找到它。

$(window).bind("pageshow", function(event) {    if (event.originalEvent.persisted) {      alert("From back / forward cache.");    }});

这些问题的快速解决方案是在按下“后退”按钮时重新加载页面。但是,这会使后向/后向缓存产生的任何积极效果无效。

window.onpageshow = function(event) {    if (event.persisted) {        window.location.reload()     }};

作为旁注,您可以看到很多使用空

onunload
处理程序作为解决方案的页面。自iOS5起,此方法无效。

$(window).bind("unload", function() { });


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5061111.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存