gpt4 book ai didi

javascript - 如何检测当前程序运行js中页面的首次加载

转载 作者:行者123 更新时间:2023-12-03 05:16:35 25 4
gpt4 key购买 nike

我有一个 ASP.net MVC 项目。我想在 js 中创建一个函数,该函数仅在程序当前运行中第一次加载此页面时执行。换句话说,如果有人进入不同的页面并返回 - 我不希望这种情况再次发生。但如果我从头开始重新运行该项目,我希望它发生。

我做了我的研究 - 但我发现的一切 - Cookie 和本地存储的想法对我不起作用,因为它们只在用户页面的第一次加载上起作用 - 所以如果我们出去并从同一台计算机重新运行该项目,它不会工作......

有人有想法吗?

最佳答案

我不确定您是否明确定义了“第一次”“回来”和“当前运行”。这些在 Web 应用程序中并不是简单的概念,从逻辑 Angular 来看,它们永远不会启动或停止,也不存在任何访问顺序的概念,除非您专门编写了一种维护工作流状态的方法,这不一定是微不足道的。

如果您想要一个脚本只运行一次,无论从任何计算机访问该页面多少次,您可以设置 application variable运行后。在对该页面的后续请求中,检查应用程序变量,如果该变量存在,则省略 Javascript。请注意,如果应用程序因任何原因重置,例如,脚本将再次运行。应用程序池回收,这可能是自动的,具体取决于您的网络服务器设置。

如果您希望每个浏览器实例仅运行一次脚本,请在运行后设置一个 cookie。在对该页面的后续请求中,检查 cookie,如果存在,则跳过脚本的执行。请注意,如果用户有多个浏览器,他将能够多次运行该脚本,因为大多数浏览器不共享 cookie jar。

如果您希望每个浏览器 session 仅运行一次脚本(例如,如果您关闭并打开浏览器,则脚本应再次运行),请设置 session cookie运行后。在对该页面的后续请求中,检查 cookie,如果存在,则跳过脚本的执行。

如果您想要一个每个用户仅运行一次的脚本,您将需要一些识别当前用户的方法。所以这意味着您需要一个身份验证机制。在这种情况下,仅在用户刚刚通过身份验证时运行脚本 - 在用户数据库中设置一个标志,指示用户已经见证了脚本的执行,并在再次渲染脚本之前检查它。

关于javascript - 如何检测当前程序运行js中页面的首次加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41578846/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com