当在* ipad上的Safari上按“返回”按钮时,不会收到javascript – “pageshow”

我有以下处理程序:

        $(window).bind('pageshow', function() { alert("back to page"); });

当我离开页面(通过按下链接)并返回页面(按“返回”按钮)时,不会调用alert()(IPad 2,iOS 5.1).

我做错了吗?我需要绑定的任何其他事件?

PS:有趣的是,当从页面导航时正确接收到页面隐藏.

最佳答案
您可以检查pageshow事件的持久属性.初始页面加载时设置为false.从缓存加载页面时,将其设置为true.

window.onpageshow = function(event) {
    if (event.persisted) {
        alert("back to page");
    }
};

由于某种原因,jQuery在事件中没有此属性.你可以从原始的事件中找到它.

$(window).bind("pageshow", function(event) {
    if (event.originalEvent.persisted) {
      alert("back to page");
    }
};

转载注明原文:当在* ipad上的Safari上按“返回”按钮时,不会收到javascript – “pageshow” - 代码日志