本地存储变量在Chromium信息亭模式下不持久

时间:2019-04-09 03:17:52

标签: javascript cookies local-storage chromium kiosk

我有一个Web应用程序,使用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);
   }

1 个答案:

答案 0 :(得分:0)

发生的情况是,默认情况下,Chromium将配置文件和会话数据存储在临时信息亭模式下的临时文件夹中 有时,我不确定为什么,至少在系统重启时会清除此文件夹在Raspbian上,其他操作系统的行为可能有所不同。有条评论建议改用cookie,但是那样也不会起作用,因为它们也进入了temp文件夹。

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

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

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