我的网站上有一个区域,用户可以使用秘密链接直接登录。然后,他通过我的框架被重定向到最终视图。
现在当会话终止并且用户重新加载时,我需要将实际重新加载指向初始秘密链接(前端知道)以获得新会话并避免登录屏幕。
我试过了:
<script type="text/javascript">
$(document).ready(function() {
window.onbeforeunload = function() {
// on reload: redirect to direct-login url, to ignore dead session
window.onbeforeunload = false;
window.location.href=$('base').attr('href') + '/users/directLogin/<?=$_SESSION['Auth']['User']['secret_token']?>';
}
});
</script>
从这段代码开始,我希望在用户触发页面刷新时重新加载另一个URL,但它会不断重新加载相同的URL。
指出问题:如果用户在使用死会话刷新时保持最后一页,他将被退回到登录屏幕。为了避免这种情况,并在盒子里面给出一种“开箱即用”的感觉,这个概念就是我想出来的。
修改 这种方法是不可能的。对于任何具有类似概念的人来说:同步ajax会阻止页面重新加载,直到ajax完成。这样,您可以在重新加载之前轻松生成会话。如果这是一个很好的解决方案,您可以考虑自己。它适合地雷,但有人可能会说这是邪恶的。