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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM