怎么在php中利用ajax实现一个文章自动保存功能

介绍

本篇文章给大家分享的是有关怎么在php中利用ajax实现一个文章自动保存功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

具体分析如下:

php + ajax文章自动保存的方法主是要方便用户,提高用户体验,我们就是用ajax把数据保存一个临时数据,像csdn一样,他可以自动保存用户的数据,这样就是掉电,出现意外你编辑的数据都不人被丢失。

这是自动保存草稿的核心的一部分,

autosavetime (sec)这个函数是用来开始计时的

clearTimeout (autosavetimer);清除定时器

. getelementbyid (& # 39; autosavetimebox& # 39;) .innerHTML=秒+“秒”;取得页面中的autosavetimebox对像,并向其写入倒计时

代码如下:

如果(sec> 0) {
,,,,,,autosavetimer=setTimeout (“autosavetime(“+秒+“1)”,1000年);
,,,,//这里就是如果当sec> 0的时候,第一秒执行一次autosavetime这个函数,同时会把sec-1的值写入autosavetimebox中其他
} {
,,,,,,,,,var title=. getelementbyid(& # 39;标题# 39;);
,,,,,,,,,如果(title.value !=& # 39; & # 39;) {
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,autosave_post ();
,,,,,,,,,其他}{
,,,,,,,,,,,,,,,,. getelementbyid (& # 39; autosavetimebox& # 39;) .innerHTML=& # 39;不用保存& # 39;,,,,
,,,,,,,,,}
}


这一部分,就是当sec> 0的条件不成立,呵呵,就是sec<=0的时候,开始执行保存草稿,首先会判断文章的标题是否为空,如果不会为空,就执行autosave_post()这个函数,否则就写入“不用保存& # 39;。

php代码如下:

代码如下:

var userAgent=navigator.userAgent.toLowerCase ();
var is_opera =(userAgent.indexOf(& # 39;歌剧# 39;)!=1);
的var is_saf ,,=((userAgent.indexOf (& # 39; applewebkit& # 39;) !=1) | |(导航器。供应商==& # 39;苹果电脑公司强生# 39;));
var is_webtv =(userAgent.indexOf(& # 39;网络电视机# 39;)!=1);
的var is_ie ,,,=((userAgent.indexOf (& # 39; msie # 39;) !=1),,(! is_opera),,(! is_saf),,(! is_webtv));
的var is_ie4 ,,=((is_ie),,(userAgent.indexOf (& # 39; msie 4 # 39;公司)!=1));
的var is_moz ,,=((导航器。产品==& # 39;壁虎# 39;),,(! is_saf));
的var is_kon ,,=(userAgent.indexOf (& # 39; konqueror # 39;) !=1);
的var is_ns ,,,=((userAgent.indexOf(& # 39;兼容# 39;)==1),,(userAgent.indexOf (& # 39; mozilla # 39;) !=1),,(! is_opera),,(! is_webtv),,(! is_saf));
的var is_ns4 ,,=((is_ns),,(方法(navigator.appVersion)==4));
的var is_mac ,,=(userAgent.indexOf (& # 39; mac # 39;) !=1);
如果(is_ie,! is_ie4) | | is_moz | | is_saf | | is_opera)
{
,,,var allowajax=1;其他
} {
,,,var allowajax=0;
}
var xmlHttp=false;
函数makeSendData (postData、url、functionName httptype) {
,
var posturl=url;
尝试{
,,xmlHttp=new ActiveXObject (“Msxml2.XMLHTTP");
}捕捉(e) {
,,尝试{
,,,,xmlHttp=new ActiveXObject (“Microsoft.XMLHTTP");
,,}捕捉(e2) {
,,,,xmlHttp=false;
,,}
}
如果!xmlHttp和,typeof XMLHttpRequest !=& # 39;未定义# 39;){
,,xmlHttp=new XMLHttpRequest ();
}
,
如果(! xmlHttp) {
,,,,,,,警报(& # 39;不能发送一个XMLHTTP请求# 39;);
,,,,,,,返回错误;
}
,
//提交表单的方式
xmlHttp。打开(httptype posturl,真实);
,
//当表单提交完成后触发一个事件
var changefunc=皒mlHttp。onreadystatechange=? functionName;,从鲍勃///////
eval (changefunc);
xmlHttp.setRequestHeader(& # 39;内容类型# 39;,& # 39;应用程序/x-www-form-urlencoded& # 39;),,
xmlHttp.send (postData);
}
函数autosave_post ()
{
,,,var title=. getelementbyid(& # 39;标题# 39;)value;
,,,var=window.frames内容(“Editor") .window.frames [“HtmlEditor"] .document.getElementsByTagName (“BODY") [0] .innerHTML;
,,,var postTime=. getelementbyid (& # 39; postTime& # 39;) value;
,,,如果(allowajax==1)
,,,{
,,,,,,,内容=postencode(内容);
,,,,,,,title=postencode(标题);
,,,,,,,var=后“title=?名称+“,内容=?内容+“,postTime=? postTime +“,“;
,,,,,,,var url=癮jax.php ?行动=autosave";null

怎么在php中利用ajax实现一个文章自动保存功能