ant*_*upe 28 javascript ajax synchronize
什么是已实现自动保存功能的最佳javascript库,或库的插件或扩展?
具体需要是能够"保存"数据网格.想想gmail和Google Documents的自动保存.
如果它已经被发明,我不想重新发明轮子.我正在寻找神奇的autoSave()函数的现有实现.
自动保存:推送到保存到持久存储的服务器代码,通常是数据库.服务器代码框架超出了本问题的范围.
请注意,我不是在寻找一个Ajax库,而是一个更高级别的库/框架:与表单本身进行交互.
daemach在jQuery @ http://daemach.blogspot.de/2007/03/autosave-jquery-plugin.html [script host down] 上引入了一个实现.我不相信它符合轻量级和精心设计的标准.
标准
jri*_*sta 47
自动保存应该非常简单,您可以使用jquery或mootools等主要框架之一.您需要做的就是在用户编辑应该自动保存的内容时使用window.setTimeout(),并将该超时调用为javascript框架标准的AJAX内容.
例如(使用jquery):
var autosaveOn = false;
function myAutosavedTextbox_onTextChanged()
{
if (!autosaveOn)
{
autosaveOn = true;
$('#myAutosavedTextbox').everyTime("300000", function(){
$.ajax({
type: "POST",
url: "autosavecallbackurl",
data: "id=1",
success: function(msg) {
$('#autosavenotify').text(msg);
}
});
}); //closing tag
}
}
Run Code Online (Sandbox Code Playgroud)
Cla*_*abe 18
我知道这个问题很老,但我想包含一个我最喜欢的代码.我在这里找到了它:http: //codetunnel.io/how-to-implement-autosave-in-your-web-app/
这是代码:
var $status = $('#status'),
$commentBox = $('#commentBox'),
timeoutId;
$commentBox.keypress(function () { // or keyup to detect backspaces
$status.attr('class', 'pending').text('changes pending');
// If a timer was already started, clear it.
if (timeoutId) clearTimeout(timeoutId);
// Set timer that will save comment when it fires.
timeoutId = setTimeout(function () {
// Make ajax call to save data.
$status.attr('class', 'saved').text('changes saved');
}, 750);
});
Run Code Online (Sandbox Code Playgroud)
在用户停止写入超过750毫秒后,它会保存.
它还具有一个状态,让用户知道更改已保存
| 归档时间: |
|
| 查看次数: |
46294 次 |
| 最近记录: |