发布前脱机保存数据


Save data offline before post

我想在发布之前将帖子数据保存到用户pc上,以防我所在地区的互联网连接不好。

大多数时候,用户写文章、添加图片,当点击提交按钮时,由于一些问题,他们的连接会丢失。

php、ajax、jquery中也有一种方法。我可以在打字时或发帖前保存它,这样如果互联网连接出现问题,他们可以在它启动并发帖时返回吗?

代码:

    function saveEditsBeforeSend(inputIdThatyouWantToGrabState){
        var contentOfInput = $(inputIdThatyouWantToGrabState).val();
        $.cookie("userInputContentOf"+$(inputIdThatyouWantToGrabState).attr("id"), contentOfInput); 
}

添加事件列表器并在发送之前调用它

    $("#yourFormId").on("submit", function(e){
        e.preventDefault();
        var form = $(this);         
        saveEditsBeforeSend(form.find("#inputIdThatyouWantToGrabState"));
        form.trigger("submit");     
});

此代码将输入的内容存储在cookie中,稍后连接正常时您可以使用这些cookie。(请注意,如果用户丢失了会话,则此内容将丢失)这是一个你可以完善它的想法

在提交表单之前,向表单添加一个提交侦听器,将所有表单输入值保存在浏览器的本地存储中。在旧的浏览器(IE)中,您可以"polyfill"这个不存在的功能。

查看此浏览器存储polyfill列表。

HTML5包含一个名为LocalStorage的规范,它允许您像过去的cookie一样在客户端浏览器中存储一些信息。这种方法非常棒,因为cookie的大小很小,而且非常不安全。

这里有一篇关于它的好文章:http://diveintohtml5.info/storage.html