【问题标题】:Flutter web local storageFlutter Web 本地存储
【发布时间】:2020-07-05 23:26:45
【问题描述】:

我正在使用 localstorage 在我的 Flutter Web 应用程序中存储一些基本数据。一切正常,但我的问题是重新启动浏览器时数据不可用。

// setting the data
html.window.localStorage["user-key"] = "Hello There";


//Reading it
String val = html.window.localStorage["user-key"];

我想知道这是在 Flutter Web 中测试的预期行为或预期行为,还是我这边的错误。

【问题讨论】:

    标签: flutter-web


    【解决方案1】:

    根据文档,它应该跨越不同的会话,包括关闭和重新打开浏览器。检查here

    我怀疑您可能正在覆盖密钥。因此我们的想法是检查存储是否已经拥有密钥,然后按照文档中的建议填充它。

    如果我是对的,那么在 Flutter Web 调试模式下,您将打开一个 chrome 的新配置文件 实例,它无法访问其他实例存储。如果我错了,请纠正我。

    您可以通过访问常用浏览器实例中的 URL 来测试这一点,而不是通过 Flutter 打开并关闭它并再次打开它。

    SO 中还有其他几篇文章讨论了本地存储的这种行为和可能的原因。

    【讨论】:

    • 这是有道理的。当我在 python 中使用一个简单的 HTTP 服务器来服务它时,行为是不同的,即使我打开和关闭浏览器它也可以工作。我还注意到这可能是因为我总是使用 python http 服务器访问特定端口 eg 8080 而 dart 生成随机端口号
    猜你喜欢
    • 2019-10-18
    • 2020-07-13
    • 2021-06-26
    • 1970-01-01
    • 1970-01-01
    • 2013-07-26
    • 2020-08-10
    • 2018-11-30
    • 2018-11-17
    相关资源
    最近更新 更多