【发布时间】:2021-06-06 18:57:41
【问题描述】:
在我的页面上,我有一个 javascript 函数,它通过 pushState 更改当前 URL,并在用户单击文本“关闭”时隐藏特定 div。简化后的页面如下所示:
<div id='book'>
<a onclick='close();'>close book information</a>
Book Information
</div>
<div id='booklist'>List of all books</div>
<script>
function close() {
/* ... */
document.getElementById("book").style.display = "none";
window.history.pushState({path:newurl},'',newurl);
}
</script>
所以 URL 是“book.php?id=1”,并在图书列表的顶部显示有关一本书的信息。如果用户单击关闭按钮,则 URL 将更改为“book.php”并且该书被隐藏。 但是,如果用户打开其他书籍,然后单击浏览器的后退按钮,则 URL 将变回“book.php?id=1”,但 display=none 仍处于活动状态。我怎样才能扭转以前做过的javascript?刷新页面也可以。我找到了this answer,但由于我无法更改正文标签,它对我不起作用。 我希望你能知道如何解决这个问题。
【问题讨论】:
标签: javascript browser-history