这是我所拥有的
<div id=A></div>
<div id=B></div>
<input type="button" value="ChangeA" onClick="createTableA();">
<input type="button" value="ChangeB" onClick="createTableB();">
因此,在我的jsp文件中,我使用javascript和jQuery动态地操纵了这两个
div
的内容。例如,如果我单击changeA
,则功能createTableA()
将动态操作<div id=A></div>
并为其append
一个表。所以我的问题是,如果我单击changeA
,然后单击changeB
,如何处理历史记录,以便如果单击back
按钮,我将返回到Table A
的内容。 最佳答案
我一直在使用jQuery History plugin进行此类操作,并且对我来说效果很好。
每个“页面”都由您的URL中的哈希引用。这样,“更改页面”不会刷新页面,但是会将页面状态存储在历史记录中并允许添加书签。
编辑
我将扩展该链接中给出的示例,以更适合您的情况。
function loadTable(hash)
{
if(hash == "ChangeA")
createTableA();
if(hash == "ChangeB")
createTableB();
}
$(document).ready(function() {
$.history.init(loadTable);
$("input[id^='Change']").click(function(){
$.history.load(this.attr('value'));
return false;
});
});
上面的代码所做的是在所有
input
标记上设置一个事件处理程序,这些标记的id
以'Change'开头,以便在单击这些按钮时调用loadTable。如果将按钮更改为如下所示:<input type="button" id="ChangeA" value="ChangeA">
<input type="button" id="ChangeB" value="ChangeB">
单击按钮A会将
http://www.example.com/yourpage.html#ChangeA
放入地址栏并加载表A,还将表更改添加到浏览器历史记录中。关于java - 如何处理网页的历史记录?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2510586/