@if (_isRunning) { @ChildContent } else {

Dev Ejection Seat Working

} @code { [Parameter] public RenderFragment? ChildContent { get; set; } private IJSObjectReference? module; private bool _isRunning = true; protected override async Task OnAfterRenderAsync(bool firstRender) { await base.OnAfterRenderAsync(firstRender); if (firstRender == false) return; module = await JS.InvokeAsync("import", "./Gui/Blazor/DevEjectionSeat.razor.js"); await module.InvokeVoidAsync("SetBeforeUnloadEventHandler", DotNetObjectReference.Create(this), nameof(BeforeUnloadEventHandler)); } [JSInvokable] public void BeforeUnloadEventHandler() { if (_isRunning == false) return; _isRunning = false; StateHasChanged(); } }