Javascript 设置本地存储保存的频率
我正在创建一个在线文本编辑器 我已经使用jQuery将信息存储在客户端Javascript 设置本地存储保存的频率,javascript,jquery,local-storage,Javascript,Jquery,Local Storage,我正在创建一个在线文本编辑器 我已经使用jQuery将信息存储在客户端 $(document).ready(function () { $('#type-name').blur(saveSettings); loadSettings(); }); function loadSettings() { $('#type-name').val(localStorage.typewriter); } function saveSettings() { localSto
$(document).ready(function () {
$('#type-name').blur(saveSettings);
loadSettings();
});
function loadSettings() {
$('#type-name').val(localStorage.typewriter);
}
function saveSettings() {
localStorage.typewriter = $('#type-name').val();
}
这将保存用户编写的内容,但不会保存所有内容。它似乎只节省了一定数量,并恢复到以前的状态。但当我离开它20秒的时候,它就省钱了,而且还能工作。如何更改保存率?如果您将输入单独放置20秒,浏览器会对输入触发
模糊
事件?真奇怪。你为什么不使用keyup
?你也可以使用setInterval()
。听起来好像OP说使用“blur”会导致达到某种本地存储速率限制。使用.keyup似乎解决了这个问题。看起来模糊是个问题。
$(document).ready(function () {
var blur_timeout_id;
$('#type-name').blur(function () {
if (blur_timeout_id) {
clearTimeout(blur_timeout_id);
}
blur_timeout_id = setTimeout(function () {
saveSettings();
}, 1000); // or 10000, etc.
});
loadSettings();
});
function loadSettings() {
$('#type-name').val(localStorage.typewriter);
}
function saveSettings() {
localStorage.typewriter = $('#type-name').val();
}