2017-04-06 157 views
0

我已經看了看周圍,並沒有看到有關我在問什麼,只是關閉這個功能什麼...刷新站點頁面就像按F5或單擊刷新按鈕

所以我使用的是微軟的邊緣當我運行我的ASP.Net Core web應用程序時,我想要顯示的更改。我可以按F5鍵或點擊刷新按鈕,頁面不會閃爍,或者看起來不會重新加載,除了顯示的數據。或者,如果我向下滾動頁面,點擊刷新按鈕,然後頁面閃爍,它將返回到我點擊刷新按鈕前滾動的位置。我如何在代碼中做到這一點?

在JavaScript中,我可以使用location.reload()刷新頁面,除非這似乎執行完全「硬」刷新,並且不會恢復到我向下滾動的位置。那麼F5如何做到這一點,但我不能?我假設一定有辦法。

我已經搜索和搜索,但是每個人都想關閉此功能。任何幫助深表感謝。

+0

使用AJAX。使用jQuery,你需要做的就是'$(「#container」)。get(「page.html」);' –

+0

@ChrisG稍微多一點。你會重複''和'#容器'裏面的一切。 – mpen

+0

@mpen我認爲很明顯,page.html只包含內容,而不是整個文檔。這只是一個示例行,而不是一個完整的解決方案。 –

回答

0

使用此代碼來刷新頁面:

//code to refresh the page 
var page_y = $(document).scrollTop(); 
window.location.href = window.location.href + '?page_y=' + page_y; 

並將其放置在script標籤這個代碼在body底部:

//code to handle setting page offset on load 
$(function() { 
    if (window.location.href.indexOf('page_y') != -1) { 
     //gets the number from end of url 
     var match = window.location.href.split('?')[1].match(/\d+$/); 
     var page_y = match[0]; 

     //sets the page offset 
     $('html, body').scrollTop(page_y); 
    } 
}); 

代碼來自:https://stackoverflow.com/a/17643341/6152171

+0

這個想法很好,但解決方案沒有得到很好的解決。假設頁面像這樣刷新兩次 - 那麼它看起來像這樣:'https://www.example.com?page_y = 364?page_y = 532'。正如你所看到的,它不會再次運行。如果URL已經包含其他GET參數,它也不起作用。如果該URL是「https:// www.example.com/no_page_yet」,則它也不起作用。 – Aloso

+0

@Aloso我沒有想到這個想法,請按照原文的鏈接 – StellarDoor5319

+0

感謝大家的信息! –