2016-11-14 28 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