我有一个有趣的问题,我相信以前没有人问过这个问题,对于我们中的一些人来说应该是一个不错的挑战。首先,我是 firebase 的新手——大约 2 天前(如果是的话)。我一直在阅读文档,但似乎找不到直接的答案。
我的情况是这样的: 我正在从实时数据库中提取用户数据,它填充了我网页中的许多字段。
问题是:
每次重新加载页面时(即使导航在 home.html
和 page2.html
之间更改),这些区域都会保留为空白,直到脚本重新加载数据。
我的问题是: 有没有办法让我只加载一次数据,这样问题就不会再次出现?
我已经尝试过:
- 利用 firebase 内置的
once()
函数。不起作用,因为每次加载页面时仍会调用脚本。
其他可能的解决方案: 我可以存储一个变量来指示数据之前是否已发送过吗?我该怎么做?
有什么想法吗?谢谢大家!
最佳答案
您可能需要考虑使用session storage或local storage .
session 存储的作用是使您能够将某些变量保存到本地缓存中,该缓存在浏览器关闭之前不会被清除。本地存储的作用是一样的,唯一的区别是浏览器关闭时它不会被清除。
我认为对于这种情况, session 存储就足够了,因为您不希望永久保存用户数据,以防万一发生变化。
要完成此任务,您可以执行类似的操作
if(sessionStorage.getItem("updated")){
// get the data from the session storage
} else {
// get from firebase
sessionStorage.setItem("updated",true);
}
每当页面加载时。
希望这有帮助。
关于javascript - 如何在刷新 Firebase 时停止数据重新加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41307684/