Blazor 服务器端(dotnet 核心 3.1)
我遇到了在客户方面显示的问题:
无法重新连接到服务器。重新加载页面以恢复功能。
每次我更新代码库或互联网时都会坏掉或类似的东西。
现在的目标是它应该在服务器再次返回时(或在某个时间间隔内)重新加载页面。
有什么可能可以帮助我吗?
小智 24
你可以试试这个代码:
<script src="_framework/blazor.server.js"></script>
<script>
Blazor.defaultReconnectionHandler._reconnectCallback = function(d) {
document.location.reload();
}
</script>
Run Code Online (Sandbox Code Playgroud)
ary*_*yeh 14
对于 .NET 6 和 7,您可以使用:
<script src="_framework/blazor.server.js" autostart="false"></script>
<script>
Blazor.start().then(() => {
Blazor.defaultReconnectionHandler._reconnectCallback = function (d) {
document.location.reload();
}
});
</script>
Run Code Online (Sandbox Code Playgroud)
这将保持所有原始启动过程不变,并且仅在连接关闭时添加页面重新加载,而不需要突变观察器。
Dan*_*man 13
<script>
// Wait until a 'reload' button appears
new MutationObserver((mutations, observer) => {
if (document.querySelector('#components-reconnect-modal h5 a')) {
// Now every 10 seconds, see if the server appears to be back, and if so, reload
async function attemptReload() {
await fetch(''); // Check the server really is back
location.reload();
}
observer.disconnect();
attemptReload();
setInterval(attemptReload, 10000);
}
}).observe(document.body, { childList: true, subtree: true });
</script>
Run Code Online (Sandbox Code Playgroud)
这将等到重新加载按钮出现,然后在实际重新加载之前等待服务器备份。
来自https://github.com/dotnet/aspnetcore/issues/10325#issuecomment-537979717
| 归档时间: |
|
| 查看次数: |
6568 次 |
| 最近记录: |