我使用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);
}
答案 0 :(得分:1)
beforeunload
事件does not fire on iOS。
看起来unload
会触发,所以请尝试将数据存储到本地存储中。
或者,您可以在用户编辑表单时将数据存储到本地存储中(即,当每个输入触发change
时),即使浏览器在用户之前崩溃,也会存储输入数据的额外好处饰面。