【问题标题】:executing a one time javascript code after authentication身份验证后执行一次性javascript代码
【发布时间】:2026-01-23 20:55:01
【问题描述】:

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

【问题讨论】:

  • “一次”是什么意思?由于代码只在用户第一次看到页面时发生,如果他们重新加载页面,代码将不会执行?
  • 这就像展示Welcome back!横幅吗?
  • @Ivan - 是的,代码应该只执行一次,但在浏览器端。

标签: javascript authentication


【解决方案1】:

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

【讨论】:

  • 这是有道理的——我可以执行代码,然后从客户端删除 cookie。
【解决方案2】:

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

认证页面会设置一个cookie,你登陆的页面(认证后)会检查这个cookie。如果它在那里,它将运行这个“一次性”代码并清除 cookie。

【讨论】: