0

当用户刷新我的页面时,我想删除在刷新实际发送到服务器之前可能存在的查询字符串(不是更改值,而是完全删除它)。我这样做是为了为我的网络应用程序的用户节省时间。

从外观上看,我可以捕捉到页面正在以某种方式在客户端与beforeunload事件一起刷新。现在在这个事件中,我可以删除查询字符串并让它在没有任何查询字符串的情况下刷新到我的页面吗?

[编辑] 如果查询字符串参数存在,服务器将使用数据查询数据库并返回数据。如果它不存在,它就不会这样做。该应用程序将数据存储在本地存储中。其中一个数据是一个 guid 字符串,该字符串 ID 是该应用程序的浏览器本地存储。我可以将它同步到服务器数据库。我也可以分享给别人。共享向他们发送带有您的 guid 字符串的查询字符串 ID 的 URL。当他们单击链接时,查询看到它查询数据库将信息发送回您的朋友设备以在本地存储以供他们查看。如果他们刷新页面,它会再次这样做。不会发生任何不好的事情,因为 javascript 将确保数据不重复,但速度会慢一些。我的应用程序是 99% 的客户端,永远不需要刷新带有查询字符串的页面。

因此,在一天结束时,这样做只是节省时间。它不必在服务器上重新查询数据库,也不必在客户端重新处理数据。这样做没有害处,只是为了提高效率。

4

1 回答 1

1

In your event handler, you can get the current url and replace the query string segment with an empty string.

try something like:

window.location = window.location.replace(/\?.*/, '');

This should return you a new url without the query string.

于 2012-12-01T16:06:57.563 回答