【问题标题】:What is the equivalent of NSUserDefaults/SharedPreferences for a web application?Web 应用程序的 NSUserDefaults/SharedPreferences 等价物是什么?
【发布时间】:2021-12-05 17:02:36
【问题描述】:

据我了解,iOS 和 Android 可以使用“NS 用户默认值/共享首选项”来处理少量非复杂数据。

我想知道在 Web 应用程序中,这相当于什么?或者它甚至存在吗?如果没有,推荐/最佳实践解决方案是什么?

谢谢。

【问题讨论】:

  • 请提供足够的代码,以便其他人更好地理解或重现问题。
  • 感谢您的回复。 @NicoSpencer 但是,我不认为本地存储对我有用,因为如果用户清除 cookie 或在浏览器中以私人/隐身模式浏览,数据将不会保留。并且没有可用的代码,只是讨论了更高级别的可能方法。

标签: android flutter web-applications sharedpreferences nsuserdefaults


【解决方案1】:

看起来,flutter 为 web 提供的开箱即用的“NSUserDefaults / SharedPreferences”等价物是“本地存储”,如果用户清除浏览器 cookie 或在私有/隐身模式下浏览,它不会永久保存数据。

这不是一个理想的解决方案,因为我需要将数据永久保存在事物的 Web 端。

浏览器不会让你永久存储数据,用户可以随时清除他们的数据。

我必须创建一个自定义数据库表并将本地“NSUserDefaults/SharedPreferences”中的数据同步到 Web 应用程序可以使用的服务器上的自定义表。

【讨论】:

    【解决方案2】:

    如果您想在 Android、iOS 和 Web 中使用 SharedPreferences,请尝试使用 shared_preferences

    【讨论】:

    • 嗯,这个包如何在幕后处理网络“共享偏好”?它是否使用本地存储/cookie?如果是这样,它将无法满足我的需求。可能必须使用该软件包,否则我只是要创建一个 MySQL 表并同步 Web 应用程序的“共享首选项”。
    • 是的,flutter 上的 web 的“共享首选项”看起来使用本地存储,这不会长期保存数据。 reddit.com/r/flutterhelp/comments/monepx/… 我很可能只需要在 Web 服务器上创建一个数据库表。
    • 即使您设法将数据永久保存到浏览器,也不能保证用户每次都会使用同一个浏览器。因此,使用 DB 服务器将是 Web 应用程序的最佳选择。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-19
    • 2016-02-10
    • 1970-01-01
    • 1970-01-01
    • 2022-01-11
    • 1970-01-01
    相关资源
    最近更新 更多