Blazor-断开连接后重新加载浏览器
程序员文章站
2023-02-08 14:19:12
在大多数情况下,Blazor将与以前相同的线路上重新连接到服务器。但有时无法重新连接,需要重新加载web浏览器才能使网站重新工作。如果服务器回收应用程序池,则需要手动重新加载页面在没有调试的情况下在IIS Express上开发和运行站点时,使用自动重新加载可以加快开发过程。只需保存您的文件并切换到w ......
在大多数情况下,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>
更多查看