在 .NET MVC 网站中单击浏览器后退按钮时页面加载器卡住

问题描述 投票:0回答:1

我正在使用 .NET MVC 开发一个网站,可以通过 https://gengecmimarlik.com 访问该网站。该网站使用页面加载器动画,该动画在通过导航栏链接正常导航期间按预期工作。但是,我在使用浏览器的后退按钮时遇到了问题。

问题: 当我导航到不同的页面(例如 /TumProjeler 或 /iletisim),然后按浏览器(Chrome 或 Edge)上的后退按钮时,加载器动画会出现但保持卡住,从而导致页面无法正确加载。网站不会崩溃或抛出任何错误,但加载程序不会消失,页面内容也不会显示。 如果我删除预加载器,问题就会消失,但出于设计目的,我需要保留它。

关键细节:

  • 我没有使用任何 AJAX 调用进行页面转换;导航是 简单明了。
  • 所有路线和导航链接均已正确配置。
  • 以下是如何在导航栏中设置链接的示例:
<a class="rd-nav-link" asp-controller="Home" asp-action="Index">Ana Sayfa</a>
<a class="rd-nav-link" asp-controller="Home" asp-action="AllProjects">Tüm Projeler</a>
<a class="rd-nav-link" href="@Url.Action("Index", "Home")#ekibimiz">Ekibimiz</a>
<a class="rd-nav-link" asp-controller="Home" asp-action="Contact">İletişim</a>
  • 我使用的是在页面加载时运行的预加载器。然而,它 使用浏览器背面导航时似乎卡住了 按钮。 按下后退按钮时,什么可能导致页面加载器卡住?是否有我需要调整的特定 .NET MVC 行为或浏览器缓存设置?如何确保当用户返回上一页时加载器不会挂起并正确加载内容?

如有任何意见或建议,我们将不胜感激。谢谢!

编辑: 下面的存储库包含加载器的 HTML 和加载器使用的脚本。由于角色类别,我无法将所有这些都添加到问题中。如果这是不符合规则的行为,我深表歉意,我对 stackoverflow 还比较陌生。 https://github.com/onurkaygn/loader 如果您认为问题不在于脚本而是其他问题,我也可以共享其他文件夹。

javascript c# asp.net-mvc asp.net-core razor-pages
1个回答
0
投票

"Global.asax.cs" 文件中添加这些代码行,即

protected void Application_BeginRequest()
{
    Response.Cache.SetCacheability(HttpCacheability.ServerAndNoCache);
    Response.Cache.SetExpires(DateTime.UtcNow.AddHours(-1));
    Response.Cache.SetNoStore();
} 
© www.soinside.com 2019 - 2024. All rights reserved.