我想在发布之前将帖子数据保存到用户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