Javascript 刷新站点页面,就像按F5或单击“刷新”按钮一样

Javascript 刷新站点页面,就像按F5或单击“刷新”按钮一样,javascript,jquery,asp.net,browser,microsoft-edge,Javascript,Jquery,Asp.net,Browser,Microsoft Edge,我环顾四周,没有看到任何关于我所问的问题,只是把它关掉了 所以我使用的是Microsoft Edge,当我运行我的ASP.Net核心web应用程序时,我想显示一些更改。我可以按F5或单击刷新按钮,页面不会闪烁,或者除了显示的数据外,看起来不会重新加载。或者,如果我向下滚动页面,点击刷新按钮,页面会闪烁,它会返回到我在点击刷新按钮之前滚动到的位置。如何在代码中实现这一点 在JavaScript中,我可以使用location.reload()强制页面刷新,但这似乎会进行完全的“硬”刷新,并且不会恢复

我环顾四周,没有看到任何关于我所问的问题,只是把它关掉了

所以我使用的是Microsoft Edge,当我运行我的ASP.Net核心web应用程序时,我想显示一些更改。我可以按F5或单击刷新按钮,页面不会闪烁,或者除了显示的数据外,看起来不会重新加载。或者,如果我向下滚动页面,点击刷新按钮,页面会闪烁,它会返回到我在点击刷新按钮之前滚动到的位置。如何在代码中实现这一点

在JavaScript中,我可以使用
location.reload()
强制页面刷新,但这似乎会进行完全的“硬”刷新,并且不会恢复到我向下滚动的位置。那么F5怎么能做到这一点,但我不能?我想一定有办法


我搜索了又搜索,但每个人都想把它关掉,而不是打开。非常感谢您的帮助。

使用以下代码刷新页面:

//code to refresh the page
var page_y = $( document ).scrollTop();
window.location.href = window.location.href + '?page_y=' + page_y;
并将此代码放置在
正文底部的
脚本
标记中:

//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 );
    }
});

代码来源:

使用AJAX。使用jQuery,只需
$(“#container”).get(“page.html”)@ChrisG比这稍微复杂一点。你会一遍又一遍地重复
#容器中的所有内容。@mpen我认为page.html显然只包含内容,而不是整个文档。这只是一个例子,不是一个完整的解决方案。类似的东西可能会在其中取得一些成功。我会考虑如何处理这个问题。谢谢大家的评论。我想我唯一困惑的是我该如何处理
$(“#container fluid”)。get('page.html')
?我正在提醒这个问题,并且正在恢复未定义状态。这说明我是多么的幼稚,哈哈。这个想法很好,但是解决方案没有经过深思熟虑。假设页面像这样刷新了两次-然后看起来像这样:
https://www.example.com?page_y=364?page_y=532
。正如你所看到的,它第二次不起作用。如果URL已经包含其他GET参数,那么它也不起作用。如果URL是
https://www.example.com/no_page_yet
,它也不起作用。@因此,我没有想到这个主意,跟随原始帖子的链接。我确实找到了一个非常棒的解决方案,但我无法发布它,因为我以前从未在这个网站上发布过答案,但不知怎的,我被禁止发布答案。