- ·上一篇文章:PHP开发入门教程之面向对象
- ·下一篇文章:结合AJAX进行PHP开发之入门
结合AJAX的PHP开发之后退、前进和刷新
+='<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.与相册应用程序结合的历史记录按钮
}
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()函数
{
//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处理程序需要进行相应的修改:
load_current();
};
最后,添加清单12中的历史记录按钮处理例程。注意处理程序和测试应用程序的相似性。
清单12.历史记录按钮事件处理程序
{
myHistory.go(-1);
load_current();
}
functiondo_forward()
{
myHistory.go(1);
load_current();
}
functiondo_reload()
{
myHistory.go(0);
}
至此就完成了历史堆栈到相册应用程序的集成。完成后的产品如图3所示。
图3.与相册应用程序结合的历史记录按钮
