本地存储变量在 Chromium Kiosk 模式下不持久



我有一个Web应用程序,它使用localStorage作为持久化数据的一种方式运行良好。就在最近,也许是由于更新?,Raspbian上的Chromium已经决定本地存储不再是它想要做的事情。我真的不知道如何持久化数据。我只需要存储两个变量的值。我正在使用典型的语法

localStorage.setItem(key, value)

当我关闭机器电源时,值消失了。我正在一个实时项目中使用它,我迫切需要一种方法来让这些数据持久存在,但我不知道还能怎么做。会话存储不会在关闭后持续存在。谁能帮忙?作为参考,铬版本是 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 在以展台模式启动时默认将配置文件和会话数据存储在临时文件夹中,有时,我不知道为什么,此文件夹在系统重新启动时被清除,至少在 Raspbian 上,其他操作系统的行为可能有所不同。一条评论建议改用 cookie,但这在临时文件夹中也不起作用。

您可以将命令行参数传递给 Chromium,以便对配置文件数据使用不同的位置,这应该可以解决问题:

/usr/lib/chromium-browser/chromium-browser --kiosk --user-data-dir=/myprofilefolder/

请记住确保该文件夹存在,并且相应的用户具有写入权限。

最新更新