使用Javascript

时间:2018-04-06 22:07:57

标签: javascript events webpage hashchange

**此问题被标记为重复。 我认为这不完全是重复的。建议的重复答案涉及jQuery,我在这里没有使用它。但是这个解决方案有助于我的调查找到答案。

我要求能够根据用户访问网页来清理一些信息。

当用户点击页面上的任何导航按钮或链接或后退按钮时,我想在用户导航到新页面之前更新信息。

基本上它看起来像这样:

function handleHashChange() 
{
    removeNodes();
}
window.addEventListener("beforeunload", handleHashChange, false);

removeNodes()调用一些REST API来更新数据。

我最初尝试在Chrome上使用“hashchange”事件。它看起来像是进入handleHashChange()和removeNodes(),但它没有成功完成。

当我将事件更改为“beforeunload”时,链接和按钮似乎在Chrome上运行正常,但后退按钮并不总是有效 - 它似乎在完成之前中止,尽管我确实看到它工作了几次。

当我尝试使用Firefox时,它似乎进入了beforeunload方法,但在任何情况下都没有完成。我没有在IE上试试。

有什么想法吗? removeNodes()方法调用一些REST API。它不应该超级慢,但我猜测它可能足够缓慢,浏览器在它有机会完成之前中止它。

0 个答案:

没有答案