Blazor-斷開鏈接後從新加載瀏覽器

在大多數狀況下,Blazor將與之前相同的線路上從新鏈接到服務器。但有時沒法從新鏈接,須要從新加載web瀏覽器才能使網站從新工做。若是服務器回收應用程序池,則須要手動從新加載頁面
在沒有調試的狀況下在IIS Express上開發和運行站點時,使用自動從新加載能夠加快開發過程。只需保存您的文件並切換到web瀏覽器,它將在編譯完全部內容並準備就緒時自動刷新。
有一種方法能夠自動從新加載瀏覽器。 前一段時間,丹·羅斯(Dan Roth)在Github上發佈了一個解決方案,將如下腳本粘貼到_host.cshtml中。 這使用JS DOM mutation observer API來檢測「從新加載」按鈕什麼時候可見,並自動從新加載頁面。javascript

<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/10325html

相關文章
相關標籤/搜索