【发布时间】: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