2016-10-02 45 views
-1

今天用這個代碼,但這個代碼一段時間無法正常工作如何銷燬變量當變化URL(任何瀏覽器)在JavaScript或jQuery的

**問題:刷新頁面,然後調用卸載(),但一段時間後用戶的變化當時URL不直接調用unload()因爲網站更改...

那麼,如何在所有瀏覽器中解決它。請幫助這裏Me.enter代碼 **

<html> 
    <head> 
     <script type="text/JavaScript"> 
      function unload(){ 
       alert("My Page unLoad - Destroy Variable"); 
      } 

      function load() { 
       alert("My Page Load"); 
      } 
     </script> 
    </head> 

    <body onLoad="load()"> 
     <script type="text/javascript"> 
      window.onbeforeunload = unload(); 
     </script> 
    </body> 
</html> 
+1

你並不需要在Javascript中銷燬或清空變量。頁面更改時已經發生。 – Archer

+0

是的,你是對的。但我使用localStorage變量所以,不會自動銷燬...手動銷燬它。 –

+0

所以你想在離開頁面時從localStorage中刪除數據?它聽起來像你應該使用變量。如果情況並非如此,那麼你需要清楚地解釋你想要做什麼和問題是什麼,而不是給我們片段,直到我們最終解決問題。 – Archer

回答

2

HTTP是無狀態的,所以每一個新的頁面上的變量將在其未初始化的狀態開始,並設置所有代碼對負載(未在事件運行IE。處理程序)將運行。

如果您正在使用的localStorage:

檢查如何檢測在url中的變化這個問題:How to detect URL changes with jQuery

然後用這個去破壞它:

window.localStorage.removeItem(key); 
+0

但我使用localStorage變量...所以,不銷燬...手動銷燬 –

+0

當時的URL更改不起作用此解決方案。這個解決方案已經在使用,但並不適當。 –

相關問題