移动野生动物园后退按钮
Mobile Safari back button
我发现的问题与这个问题非常相似,只是桌面上的Safari似乎已经解决了这个问题。本质上,问题是这样的:当客户端在移动 safari 上浏览并且页面在 pageA.html
上执行 javascript 函数,然后导航到pageB.html
,然后按后退按钮返回pageA.html
,当客户端按下后退按钮返回pageA.html
时,javascript 函数不会运行。它将跳过javascript调用。
我已经尝试了上面链接中提到的解决方案,但似乎没有什么适用于移动 Safari。还有其他人遇到过此错误吗?你是怎么处理的?
这是
由后向缓存引起的。当用户导航离开时,它应该保存页面的完整状态。当用户使用后退按钮导航回来时,页面可以从缓存中非常快速地加载。这与仅缓存HTML代码的普通缓存不同。
当为 bfcache 加载页面时onload
不会触发事件。相反,您可以检查onpageshow
事件的 persisted
属性。它在初始页面加载时设置为 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() { });
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 正在添加'X'按钮,在文本字段旁边使用javascript
- 多个单选按钮组相互干扰
- JavaScript下拉菜单-点击按钮并根据所选值重定向到url
- Javascript按钮下拉列表
- jquery试图按名称获取按钮位置
- 漂亮照片图片库中的Facebook赞按钮
- 扩展移相器按钮类不工作
- 通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码
- 单击按钮以等待单击按钮
- 剑道UI内联编辑:如何在点击其他按钮时隐藏按钮
- 单击按钮后如何逐个调用分区,上一个分区将隐藏
- 如何从querySelectorAll中获取按钮类型
- 如何在输入字段中的按钮的帮助下打开日历,该字段的类型为“=”;日期”;
- 按下按钮时保存cookie
- 是否可以禁用jquery中的单个单选按钮
- ASP.NET通过单击JavaScript按钮触发c#事件
- 移动野生动物园后退按钮
- 野生动物园浏览器中的后退按钮坏了
- 如何在火狐,歌剧,野生动物园下增加单选按钮的大小