Не уверен в деталях, но я считаю, что для такого взаимодействия вам нужно быть немного более откровенным.Поэтому, если вы поместите этот скрипт в вашу index.html
(не там, где я бы порекомендовал вам запустить его в производство):
<script>
window.test = {
historyGo(value) {
window.history.go(value);
}
};
</script>
Затем поместите этот код на вашу страницу Blazor:
<button type="button" onclick="@OnClick">Go Back</button>
С таким обработчиком событий:
private void OnClick()
{
JSRuntime.Current.InvokeAsync<object>("test.historyGo", -1);
}
Все работает так, как вы ожидаете.Я попробовал подход, который вы выбрали (без явного уровня взаимодействия в вашем JS), и также увидел, что он не работает.Но это кажется разумным решением проблемы.Было бы интересно узнать, почему этот работает, а ваш код - нет, но, надеюсь, это полезно.