2011-10-22 62 views
1

认证后,服务器端代码将进入默认页面或转到用户在认证之前单击的原始页面。在所有情况下,页面在重定向之后呈现(我正在使用django)。在这种情况下,您如何在呈现的页面上执行一次JavaScript代码?我能想到的一种方式是添加一个“参数”,指示要呈现的页面应执行一次性代码。 “onload”函数可以检查并执行代码。还有没有其他的“更优雅”的方式?认证后执行一次性JavaScript代码

+1

你是什么意思“一次”?由于代码只在用户第一次看到页面时发生,并且如果他们重新加载页面,代码将不会执行? – Ivan

+0

这就像是显示一个'欢迎回来!'的横幅吗? –

+0

@Ivan - 是的代码应该只执行一次,但在浏览器端。 –

回答

2

您可以使用Django设置cookie或在主体上添加类。在客户端,您只需检查cookie或类是否存在。如果是cookie,最好用JavaScript删除它。

+0

这是有道理的 - 我可以执行代码,然后从客户端删除cookie。 –

1

我认为您所描述的解决方案在优雅的可接受范围内。无论如何,另一种方法是使用cookies:

身份验证页面将设置一个cookie,您登录的页面(身份验证后)将检查此cookie。如果它在那里,它将运行这个“一次性”代码并清除cookie。