Blazor-断开连接后重新加载浏览器

在大多数情况下,Blazor将与以前相同的线路上重新连接到服务器。但有时无法重新连接,需要重新加载web浏览器才能使网站重新工作。如果服务器回收应用程序池,则需要手动重新加载页面
在没有调试的情况下在IIS Express上开发和运行站点时,使用自动重新加载可以加快开发过程。只需保存您的文件并切换到web浏览器,它将在编译完所有内容并准备就绪时自动刷新。
有一种方法可以自动重新加载浏览器。 前一段时间,丹·罗斯(Dan Roth)在Github上发布了一个解决方案,将以下脚本粘贴到_host.cshtml中。 这使用JS DOM mutation observer API来检测“重新加载”按钮何时可见,并自动重新加载页面。

<script>
    // 等待直到出现“重新加载”按钮
    new MutationObserver((mutations, observer) => {
        if (document.querySelector('#components-reconnect-modal h5 a')) {
            // 现在,每隔10秒,查看服务器是否返回,如果返回,则重新加载
            async function attemptReload() {
                await fetch(''); // 检查服务器是否真的返回
                location.reload();
            }
            observer.disconnect();
            attemptReload();
            setInterval(attemptReload, 10000);
        }
    }).observe(document.body, { childList: true, subtree: true });
</script>

  

更多查看 https://github.com/dotnet/aspnetcore/issues/10325

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值