2016-11-03 61 views
0

我想在刷新頁面之前更改變量值。如何在使用Javascript刷新頁面之前更改值?

我的主要目標是每3秒將URL存儲到數組中。 存儲URL工作正常,但當頁面刷新時,索引[ind]和數組[urllist]變爲空。我想在refresh之前更改ind,urllist的長度。請告訴我最後的解決方案。

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <script> 
     var urllist = []; 
     var ind = 0; 
     var myVar; 
     myVar = setInterval(Geturlfun, 3000); 
     function Geturlfun() { 
      var pageURL = window.location.href; 
      if (urllist[ind - 1] == pageURL) { 

      } else { 
       urllist[ind] = pageURL;      
       ind = ind + 1; 
       alert(pageURL); 
      } 
     } 
     function goBkHist(a) { 
      var l_ref = ind - 2; 
      if (l_ref != 0) { 
       var pageURL2 = urllist[l_ref]; 
       ind = l_ref + 1; 
       alert(pageURL2); 
       loadUrl(pageURL2); 
      } 
     } 
     function goFdHist(a) { 
      var l_ref_2 = ind; 
      var pageURL2 = urllist[l_ref_2]; 
      ind = l_ref_2 + 1; 
      alert(pageURL2); 
      loadUrl(pageURL2); 
     } 
     function loadUrl(newLocation) { 
      window.location = newLocation; 
      location.reload(); 
      return true; 
     } 
    </script> 
</head> 
<body> 
    <input type="button" value="BACK " onclick="goBkHist(-1)" /> 
    <input type="button" value="FORWARD" onclick="goFdHist(1)" /> 
</body> 
</html> 

我試着在下面的代碼刷新變化。但它在警告框中顯示文本消息。我不想顯示任何警報框。我想運行功能或更改值而不顯示彈出窗口。

window.onunload = function (e) { 
       var dialogText = '0'; 
       e.returnValue = dialogText; 
       return dialogText; 
      }; 

在此先感謝。

+0

記住,刷新頁面會重置DOM的狀態。因此,在刷新並在完成後檢索信息之前,您需要將信息保存在客戶端或服務器端。你可能想看看localStorage選項 – DinoMyte

+0

你需要堅持數據,以便它可以超越單頁請求。網絡存儲可以幫助你在這裏。 –

回答

相關問題