【发布时间】:2019-08-30 06:17:38
【问题描述】:
我有一个使用 localStorage 作为持久数据的方式运行良好的网络应用程序。就在最近,也许是由于更新?,Raspbian 上的 Chromium 已经决定 localStorage 不再是它想做的事情。我真的不知道如何保存数据。我只需要存储两个变量的值。我正在使用
的典型语法localStorage.setItem(key, value)
当我关闭机器时,这些值消失了。我在一个实时项目中使用它,我迫切需要一种方法来让这些数据保持不变,但我不知道该怎么做。 SessionStorage 不会在关闭后持续存在。任何人都可以帮忙吗?供参考,铬版本为 65.0.3325.181
function grow(){
currentZoom += 1;
$("#content").css('font-size', currentZoom + 'px');
$("#content").css('height', currentZoom + 'px');
localStorage.setItem("storeSize", currentZoom);
console.log("grow triggered");
}
function shrink(){
currentZoom -= 1;
$("#content").css('font-size', currentZoom + 'px');
$("#content").css('height', currentZoom + 'px');
localStorage.setItem("storeSize", currentZoom);
console.log("shrink triggered");
}
function mirror(){
$("testDisplay").addClass("mirror");
localStorage.setItem("mirror", 1);
}
【问题讨论】:
-
您应该研究关闭机器电源对存储的影响。这会以某种方式刷新您的 chrome 数据吗?如果这是唯一一次发生,它似乎可能与关闭操作有关。您可以在此处了解您的数据存储位置:en.wikipedia.org/wiki/Web_storage
-
我认为,除了 4 周前它工作正常。 pi 大部分时间都保持打开状态。几天前我让一位同事将其关闭,我们注意到数据没有保留。这只是意味着我们必须根据需要重新校准它。在我当地的办公室这不是问题,但我把这些分散开来了,我无法找到所有这些。
-
chrome 中没有任何会特别影响这一点的更改。根据文档可以清除数据的唯一方法是手动完成。我认为即使数据在浏览器更新时也会持续存在。我认为如果来源发生变化(如果你将你的 url 从 example.com 更改为 example1.com),它本身就会失效
-
旁注 - 您可以使用加载到存储中的 cookie 添加辅助解决方案,以防再次发生这种情况,但请注意 cookie 确实会过期。有很多好的库可以做到这一点。
-
正确。网址保持不变。它适用于普通铬。当 pi 启动时,有一个启动脚本运行此网页并自动将其设置为 kiosk 模式。这是一个非常基本的应用程序,所以这就是设置这种方式的原因。但在 kiosk 模式下所做的任何事情都不会持续到常规 Chromium,反之亦然。
标签: javascript cookies local-storage chromium kiosk