假定有4个网页urlA、urlB、urlC、urlD;为了实现前进和后退功能我们需要借助两个栈:stackX和stackY;
- 初始时浏览器页面为空,stackX和stackY也为空;
- 当浏览第一个网页A时,stackX.Push(urlA);
当跳转第二个网页B时,stackX.Push(urlB);
当浏览第一个网页C时,stackX.Push(urlC);
当跳转第二个网页D时,stackX.Push(urlD); - 当点击后退按钮时:
if (!stackX.IsEmpt()) {
stackY.Push(stackX.GetTop());
stackX.Pop();
browser.Reload();
} else {
backBtn.TurnGrey();
}
- 当点击前进按钮时:
if (!stackY.IsEmpt()) {
stackX.Push(stackY.GetTop());
stackY.Pop();
browser.Reload();
} else {
forwardBtn.TurnGrey();
}