javascript - LocalStorage 变量未在 Chromium Kiosk 模式下持续存在
问题描述
我有一个使用 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);
}
解决方案
会发生什么情况是 Chromium 默认情况下在临时文件夹中存储配置文件和会话数据,有时在 kiosk 模式下启动时,我不知道为什么,这个文件夹在系统重新启动时被清除,至少在 Raspbian 上,其他操作系统可能会表现不同。一条评论建议改用 cookie,但这在临时文件夹中也不起作用。
您可以将命令行参数传递给 Chromium,以便为配置文件数据使用不同的位置,这应该可以解决问题:
/usr/lib/chromium-browser/chromium-browser --kiosk --user-data-dir=/myprofilefolder/
请记住确保该文件夹存在,并且相应的用户具有写入权限。
推荐阅读
- mysql - Xampp 显示 MySQL 意外关闭;除非每次重新安装 xampp 都无法正常工作,
- python - Operator Itemgetter 没有在字典中给出正确的组数?
- python - Patsy - 设计矩阵的增量创建
- c - 无法在单链表中手动输入节点
- node.js - 当另一个扩展命令执行时调用我的 VSCode 扩展方法
- keyboard - 从光标到行首删除空格的键盘快捷键
- node.js - 将数据添加到firebase时,无法在将标头发送到客户端后设置标头
- c# - 所以我试图建立一个光子网络连接,其中玩家随机生成,但遇到了这个错误。“实例化”没有过载
- assembly - Mac Os Big Sur 上的 Ld 没有选项 -T
- cocoapods-1.2 - 如何安装 CocoaPods 1.10.0?