Как правильно проверить, работает ли Blazor на стороне клиента или на стороне сервера с помощью javascript?

Я хочу иметь функцию, которая будет запускать некоторый код javascript только тогда, когда он находится на стороне сервера Blazor.

например

window.Foo = function(){
    if(blazorIsServerSide){
        // do something
    }
}

Как правильно проверить, работает ли Blazor на стороне сервера?

2 ответа

Возможно, это не совсем то, что вы имели в виду, но вы можете сделать это, используя взаимодействие JavaScript в компоненте blazor.

      <button @onclick="@onClick"> Click </button>

@code {

    [Inject]
    protected IJSRuntime jsRuntime { get; set; }

    private void onClick()
    {
        var isWebAssembly = this.jsRuntime is IJSInProcessRuntime;
    }
}

Если вам нужна эта проверка в JavaScript, вы можете попробовать

window.wasmBinaryFile === undefined

Изменить: дополнительный тест

window.Blazor.reconnect !== undefined
Другие вопросы по тегам