2012-04-05 116 views
1

我有一个网页,当用户登录时,它会有一个显示“用户名”和“注销”链接的链接。如何自动刷新页面一次?

用户注销后,“用户名”和“注销”链接将分别变为“登录”和“注册”链接。

页面使用javascript检查用户cookie,如果用户cookie存在,它将显示“用户名”链接和“注销”链接。如果没有用户cookie存在,“登录”和“注册”链接将取代“用户名”和“注销”链接。

问题出在这里:当用户登录后,点击“注销”链接,perl脚本将删除用户cookie,并重定向回到同一页面。该页面不会自动显示“登录”和“注册”链接。只有在用户手动刷新页面后,这两个链接才会出现。

看来我需要一个系统来自动刷新页面一次。如何才能做到这一点?

+0

你想要一个仅JavaScript的解决方案?也许如果你详细说明你使用的服务器端技术,我们可以给出一个更合适的解决方案。然而,正确的解决方案并不在于强制刷新,而是要把数据放在第一位。 – ericosg 2012-04-05 14:02:04

+0

根本不理解你的评论。服务器端技术非常简单,perl脚本删除用户cookie,然后重定向回到同一页面。但是,只有在手动刷新页面后,链接中的更改才会显示。我需要自动发生。 – user1315468 2012-04-05 14:25:40

+0

通过将cookie过期时间设置为'',删除cookie。这会导致问题吗? – user1315468 2012-04-05 14:32:37

回答

-1

我不认为这是强制刷新这种事情,你应该考虑你的方式处理操作,但如果你想要简单的方法,那么你必须添加此代码,将立即刷新

<meta http-equiv="refresh" content="0"> 
+0

不,您的建议不起作用。该网页将继续令人耳目一新,非常烦人! – user1315468 2012-04-05 14:18:05

0

,你可以做这样的 deconnexion后重定向到“page.html中?1” 和JavaScript端使用这个片段 来检查?1,并重定向到“page.html中”

var refreshCheck= Number(window.location.search.slice(1)); 
if (refreshCheck == 1) { 
    window.location.href = window.location.substring(0, window.location.length-2); 
}