Невозможно вызвать функцию JavaScript из компонента BlazorC#

Место общения программистов C#
Ответить
Гость
 Невозможно вызвать функцию JavaScript из компонента Blazor

Сообщение Гость »

Я пытаюсь проверить, открыто ли мое приложение Blazor Web Assembly на мобильном телефоне или нет. Для этого
Я создал файл wwwroot/script.js и добавил код:
function isDevice() {
return /android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini|mobile/i.test(navigator.userAgent);
}
< /code>
Добавлена ​​ссылка в index.html < /p>
, а затем в моем компоненте: < /p>
@inject IJSRuntime JSRunTime
@code {
private string isDevice { get; set; }
private static bool mobile { get; set; }

protected async override Task OnAfterRenderAsync(bool firstRender)
{
if (firstRender)
{
mobile = await JSRuntime.InvokeAsync("isDevice");
isDevice = mobile ? "Mobile" : "Desktop";
}
await base.OnAfterRenderAsync(firstRender);
}
}
< /code>
Я получаю ошибку во время компиляции, что: < /p>

Нет перегрузки для метода 'vongeasync' принимает 1 аргумент < /p>
< /blockquote>

после проверки документов: https://learn.microsoft.com/en-us/dotnet /api/microsoft.jsinterop.jsruntime.invokeasync?view=aspnetcore-5.0#microsoft_jsinterop_jsruntime_invokeasync__1_system_string_system_object__>mobile = await JSRuntime.InvokeAsync("isDevice", new object[] { });
< /code>
Теперь ошибка: < /p>

Ссылка на объект требуется для нестатического поля, метода или < br/> свойство 'jsruntime.invokeasync (string, object [])'



Подробнее здесь: https://stackoverflow.com/questions/649 ... -component
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»