通过服务器端 / Flask + JS 重置 localStorage 数据

Reset localStorage data via server-side / Flask + JS

提问人:Sofiane 提问时间:11/17/2023 更新时间:11/17/2023 访问量:36

问:

我正在制作一个关于地图的小游戏,每天会有 3 张与关卡相对应的可用地图(目前正在通过烧瓶路线手动翻新地图。

我在浏览器中本地存储用户统计信息(连胜等),因为我不想在服务器端打扰我创建帐户和领导数据库。

我希望当我访问我的烧瓶路由时(或者稍后当我弄清楚如何自动执行该函数时)将一些特定值重置到本地存储中,但我很难弄清楚。

我试图发送某种“标志”并通过 jinja 将其传递给我的 html,但数据并没有“粘”在那里。它似乎只有在有人亲自访问路线时才有效。

@app.route("/generate_maps") 
def generate_and_save_maps():
# my function there
reset_signal = True
return render_template('homepage.html', reset_signal=reset_signal)

然后我只是在我的html中调用它(resetSignal.js基本上是一个检查,如果信号存在,则删除localStorages):

<script> var resetSignal = {{ reset_signal | lower }}; </script>
<script src="static/js/resetSignal.js"></script>
javascript python flask 本地存储

评论

0赞 Barmar 11/17/2023
服务器无权访问浏览器的 .它只能使用客户端 JavaScript 进行访问。您可以改用 cookie 吗?localStorage
0赞 Sofiane 11/17/2023
我不知道tbf。这是我第一次创建应用程序,我还没有涵盖 cookie。我刚刚读到它,似乎 cookie 可以过期的事实可能很有趣。您建议将这些临时值设置为 cookie,以便它们在确定的时间后自动过期(假设我每 12 小时生成一次地图)?我唯一的问题是用户可以禁用它们,但我可以提醒他们,如果是这样,游戏机制将不起作用......
0赞 Barmar 11/17/2023
我建议使用 cookie,因为它们可以从服务器设置。
0赞 Barmar 11/17/2023
用户也可以更改本地存储。
0赞 Barmar 11/17/2023
如果你担心用户覆盖它,你不应该在客户端上使用任何东西,它必须在服务器上。

答: 暂无答案