当用户注销时,我试图禁止后退按钮呈现上一页。该代码似乎可以正常工作,但是我注意到在iPhone上,上一页显示了一两秒钟,然后才被登录屏幕替换。有办法防止这种情况吗?

这是我在表单中使用的JS

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


然后在控制文件中我简单地使用:

if(!isset($_SESSION['id']))
    redirect("login.php");


我还尝试了iframe解决方案,但发现它根本不起作用:

<iframe style="height:0px;width:0px;visibility:hidden" src="about:blank">
    this frame prevents back forward cache <!--doesn't work -->
</iframe>

最佳答案

您可以尝试以下操作(建议在其他位置,例如https://stackoverflow.com/a/9783386

document.body.style.display = "none"; // insert this line, before the next
window.location.reload();

关于javascript - iOS 9.3在iPhone后退按钮上禁用后退缓存,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39540828/

10-13 06:01