当前位置:中国站长下载文章中心网页编程PHP编程 → 结合AJAX的PHP开发之后退、前进和刷新

结合AJAX的PHP开发之后退、前进和刷新

减小字体 增大字体 作者:编辑整理  来源:互联网  发布时间:2008-9-15 22:04:23
+='<imgsrc=http://www.chinaz.com/Program/PHP/"icons/back_off.gif"alt=""/>';
 }
 if(myHistory.hasNext()){
str+='<ahref="#">
<imgsrc=http://www.chinaz.com/Program/PHP/"icons/forward_on.gif"alt="Forward"/></a>';
 }else{
str+='<imgsrc=http://www.chinaz.com/Program/PHP/"icons/forward_off.gif"alt=""/>';
 }
 str+='<ahref="#">
<imgsrc=http://www.chinaz.com/Program/PHP/"icons/reload.gif"alt="Reload"/></a>';
 document.getElementById("historybuttons").innerHTML=str;
}
在开始跟踪相册应用程序的历史记录之前,只需要在页面加载过程中调用x_get_table()函数即可。这样就可以调用通过Sajax显示的初始表。

现在已经有了历史堆栈,但是我们不希望每次打开该应用程序时都要从头开始。相反,我们希望从离开的地方开始。因此需要添加load_current()函数以扩展应用程序,加载页面时会调用该函数。添加后退和前进按钮处理程序时,还将调用该函数,根据保存到历史堆栈中的事件ID来更新页面。

清单11.load_current()函数

   functionload_current()
{
 //Noexistinghistory.
 if(myHistory.stack.length==0){
x_get_table(to_window);
myHistory.addResource('table-0-5');
 
//Loadfromhistory.
 }else{
varcurrent=myHistory.getCurrent();
varparams=current.split('-');
if(params[0]=='table'){
 x_get_table(params[1],params[2],to_window);
}elseif(params[0]=='image'){
 x_get_image(params[1],to_window);
}
 }
}
onload处理程序需要进行相应的修改:

   window.onload=function(){
 load_current();
};
最后,添加清单12中的历史记录按钮处理例程。注意处理程序和测试应用程序的相似性。

清单12.历史记录按钮事件处理程序

   functiondo_back()
{
 myHistory.go(-1);
 load_current();
}

functiondo_forward()
{
 myHistory.go(1);
 load_current();
}

functiondo_reload()
{
 myHistory.go(0);
}
至此就完成了历史堆栈到相册应用程序的集成。完成后的产品如图3所示。

  
图3.与相册应用程序结合的历史记录按钮

上一页  [1] [2] [3]