由于 Blazor 和 Oqtane 是 SPA,因此内容会添加到 DOM,并且始终不会检测到实际负载。
此外,2sxc 似乎仍然无法在客户端浏览器上与 Blazor / .net 配合使用。
这使得许多常见情况(例如每个“页面加载”)没有易于实施的选项。
那么,仅依靠常见的razor服务器端代码和纯javascript,如何在每次显示页面时触发js函数,无论是第一次还是重复访问而不强制重新加载?
我们说一个简单的:
<script src="sayhello.js"></script>
和
function showalert(){
alert("This is page ABC");
}
window.onload = showalert();
Blazor 有页面加载事件,然后只需使用 Javascript 互操作来调用 javascript 函数。
@page "/"
@inject IJSRuntime _JS
<script>
function showalert(){
alert("This is page ABC");
}
</script>
@code {
protected override async Task OnAfterRenderAsync(bool firstRender)
{
await _JS.InvokeVoidAsync("showalert");
}
}