【问题标题】:LocalStorage does not work on mobile?LocalStorage 在移动设备上不起作用?
【发布时间】:2017-07-27 03:26:30
【问题描述】:

我正在使用 localStorage 来备份长表单上的表单数据。因此,如果用户刷新,他们不会丢失所有内容。这在计算机上的 Chrome 和 Firebox 上运行良好。

但是在移动设备上(至少是 iOS)它根本不工作。有什么建议吗?

这里以我的一小部分代码为例:

存储数据:

 window.onbeforeunload = function() {
       window.localStorage.setItem("Job1", $("#topScore1B").text());
    }

检索数据:

window.onload = function() {
    //   If values are not blank, restore them to the fields
        var name = window.localStorage.getItem('Job1');
        if (name !== null) $('#job1').text(name);


}

【问题讨论】:

  • 在正常交互而不是onbeforeunload中设置是否有效?
  • 您是否在隐身模式下使用 safari?如果setItem 无法写入 localStorage,则会抛出异常,例如 incognito safari。
  • @Ryan 如果你问这个 ID 是否可以用于其他用途,那么可以。
  • @Niklas 它在常规 Safari 中不起作用
  • @AndrewLeonardi:我不知道“ID”是什么,但如果你在点击监听器中使用setItem 或其他东西而不是onbeforeunload,你能用@ 阅读它吗? 987654327@在手机上?

标签: javascript jquery html local-storage onload


【解决方案1】:

beforeunload 事件does not fire on iOS

看起来unload确实触发了,因此请尝试将您的数据存储到那里的本地存储中。

或者,您可以在用户编辑表单时将数据存储到本地存储中(即当每个输入触发change 时),即使浏览器在用户完成之前崩溃,也可以存储输入的数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-12
    • 2014-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-31
    • 2016-08-11
    • 2021-12-20
    相关资源
    最近更新 更多