有没有一种方法可以在刷新页面之前执行代码?

时间:2019-03-02 18:35:10

标签: javascript jquery html node.js url

我一直在尝试使用 onbeforeunload 功能,但它只是

不做我想做的事。

所以,我有一个网页,它将文本附加到其URL上以做一些事情:

https://localhost:3000/someTextAppended

但是当我刷新时,可以通过单击浏览器的“刷新按钮”或按

“ F5”,我不想刷新新的url(带有附加文本),我只想

在这种情况下刷新域部分:

https://localhost:3000

我尝试使用此代码和一些变体:

$(window).bind('beforeunload', function(){
  window.history.pushState("data","Title","");
});

但是它会不断刷新附加的网址,然后我得到。

Cannot GET /someTextAppended

还有另一种方法可以实现这一目标吗?

预先感谢;)

2 个答案:

答案 0 :(得分:0)

onbeforeunload中您可以做的事情很少。将用户发送到其他地方不是其中之一。

  

因此,我有一个网页,该网页将文本附加到其网址上以做一些事情

URL应该指示用户在您的站点或应用程序中的位置。它不应该“做些事情”。

您可能应该做的是将状态保存在LocalStorage中,并在URL上的状态无效时更新URL 页面加载

我会为您提供具体建议,但您没有提出具体问题。

答案 1 :(得分:0)

这可能对您不起作用,但是您可以使用location.hashhttps://localhost:3000/#someTextAppended)。

或者,将您的Web服务器设置为根据/请求提供GET /someTextAppended