2015-10-26 184 views
0

我試圖區分頁面點擊和自動重新加載。自動重新加載是通過下面的JavaScript完成的。區分按鈕點擊和javascript頁面重新加載

var pageReload = { 
Initialize: function() { 
     window.setTimeout("location.reload(true);", 60000); 
} 
pageReload.Initialize(); 

我想設置一個隱藏變量在這我想您在Page_PreRender改變的值來了解頁面點擊自動重載之間的區別上面的代碼。

var hdnReloadType = document.getElementById('<%=hdnReloadType.ClientID%>'); 
hdnReloadType.value = "1"; 

JavaScript在PreRender之後加載,我確定如何繼續。

有什麼想法?

回答

0

而不僅僅是做一個reload(),您可以在URL中添加「重新加載」參數。如果我們使用類似replaceUrlParam()功能從this answer,我們可以說:

var pageReload = { 
    Initialize: function() { 
    window.setTimeout(
     function() { 
     var url = replaceUrlParam(window.location.href, 'reloaded', '1'); 
     window.location.href = url; 
     }, 
     60000 
    ); 
    } 
} 
pageReload.Initialize(); 

現在,當頁面已經被自動重新加載(只有這樣),查詢字符串將包含「重新加載= 1」。

0

你總是可以使用localStorage離開時,你的函數重載頁面後面的麪包屑:

localStorage.setItem('page-reloaded', 'true'); 

頁面加載後,檢查麪包屑:

var reloaded = localStorage.getItem('page-reloaded') || false; 

然後清理算賬:

localStorage.removeItem('page-reloaded'); 
0

謝謝你所有的回覆。

因爲我使用的是asp.net,所以我能夠從Request對象中捕獲前一頁單擊URL,並從那裏確定是否是頁面自動重載或按鈕單擊。查詢字符串重新加載選項也很棒,但我們不想將其公開給用戶。這個解決方案適用於我的情況。