我有一个网页,第一次访问时会显示一个框。
在网站的其他部分,有“后退”按钮,当然还有浏览器后退按钮。
然而,当使用后退按钮(浏览器或html)时,该框再次可见。
有没有办法确保在返回时不会再次显示该框?即使使用.remove()
完全删除对象也不起作用。
我在这里做了一个例子jsbin:
首先,点击链接隐藏该框,然后点击第二个链接继续。
HTML:
<div id="hide-on-back">
Make this go away
</div>
<a href="#" id="hide-box">1. Click First To Hide</a><br/>
<br/>
<a href="http://jsbin.com/tipup/1/">2. Go Forward</a>
JS:
$(document).ready(function(){
$('a#hide-box').click(function(e){
e.preventDefault();
$('#hide-on-back').fadeOut();
});
});
HTML / JS(后退按钮):
<a id="go-back" href="#" onclick="function(){history.go(-1);}">Go Back</a>
答案 0 :(得分:1)
只要您重新加载页面,您通过javascript对dom所做的任何修改都会重置为其初始状态。所以,要么使用ajax(例如我认为使用jquery.load)以避免重新加载整个页面,要么提供一个url参数,您可以通过jquery(Get url parameter jquery Or How to Get Query String Values In js)检查
最后的解决方案是使用Cookie保存信息。