2016-11-14 31 views
0
清爽页面

在加载,我的网页有以下网址:添加PARAMS到网址时,用户点击

http://mywebsite.com?param1=test&param2=test2

我用下面的代码启动期间从URL中移除,一旦网页参数加载:

if (window.history && window.history.replaceState) { 
    window.history.replaceState(null, null, window.location.pathname); 
} 

因此,我的网址变为:

http://mywebsite.com

问题是用户在浏览器中刷新页面,我需要再次添加先前删除的参数。当用户刷新页面时,我该怎么做?

$(window).unload(function() { 
    // Add again parameters before reloading .. 
}); 
+1

为什么要先把它们删除?如果您需要参数,请将它们留在那里。 – David

+0

您可以在清除它们之前使用** localStorage ** – GiuServ

+0

这听起来像一个毫无意义的问题 - 如果您需要参数在URL中,请将它们留在网址中 –

回答

0

您可以将参数存储在localStorage中,然后在重新加载页面时检查它们的存在。

https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage

+0

这个问题是你如何获得带有无参数状态的页面?访问者将永远无法再访问“http:// mywebsite.com”URL –

+1

然后他可以设置/取消设置标志变量来捕捉更新?像window.onbeforeunload – GiuServ

+0

你已经在用户的localStorage中查询字符串值,所以当用户访问www.mywebsite.com时,只需检查参数的存在,然后根据参数采取所需的任何操作。如果他们访问www.mywebsite.com?param1=test¶m2=test2,请在localStorage中设置参数,然后重定向到www.mywebsite.com。当重定向发生时,它会看到参数已经设置,然后你可以采取行动。 – raphael75