在我的应用程序中,我使用这个非常简单的代码来添加主题标签:
<a href='#test'> <input type='submit'></input>
当我按下后退按钮时,我希望页面刷新。目前,它只从 www.mysite.com/#test 到 www.mysite.com。
我看到了关于这个主题的不同问题,但我没有找到如何做到这一点。
谢谢您的帮助。
在我的应用程序中,我使用这个非常简单的代码来添加主题标签:
<a href='#test'> <input type='submit'></input>
当我按下后退按钮时,我希望页面刷新。目前,它只从 www.mysite.com/#test 到 www.mysite.com。
我看到了关于这个主题的不同问题,但我没有找到如何做到这一点。
谢谢您的帮助。
一种简单的方法是等待哈希更改事件发生,然后对其做出反应。每当 # 更改时,将调用该函数,如果哈希为空,则将重新加载页面。
window.addEventListener('hashchange', function() {
console.log(window.location.hash);
if('' === window.location.hash) {
console.log('reload');
//window.location.reload();
}
});
我建议使用 jQuery 之类的库来进行事件绑定,因为 addEventListener 在任何浏览器中都不起作用。(你好 IE) https://developer.mozilla.org/en/docs/DOM/element.addEventListener
如果你需要更高级的东西,还有一个历史 API。 https://developer.mozilla.org/en-US/docs/DOM/Manipulating_the_browser_history
我刚刚找到了如何做到这一点。我正在使用 onhashchange 功能。这是我的代码:
document.body.setAttribute("onhashchange", "update()");
function update() {
if('' === window.location.hash) {
window.location.reload();
}
};
所以当我按下后退按钮时,哈希消失并且页面重新加载。
谢谢大家的提示。