Blazer Web App使用了Blazor框架,而Blazor框架在加载页面时会加载blazor.server.js文件。如果在项目中同时使用其他脚本文件,可能会出现冲突导致其他脚本文件不能正常工作。解决这个问题的方法是将其他脚本文件移到blazor.server.js文件之后加载。例如,在.cshtml页面中,可以这样写:
@page "/Counter"
@using MyProject.Shared
@using MyProject.Client
@inject IJSRuntime JS
Counter
Current count: @currentCount
@code{
private int currentCount = 0;
private async void IncrementCount()
{
currentCount++;
await JS.InvokeVoidAsync("afterBlazorServerJSLoaded");
}
}
然后在其他脚本文件中添加一个回调函数来处理blazor.server.js文件加载完毕后的事件:
function afterBlazorServerJSLoaded() {
// 在这里加入其他脚本文件的代码
}
此时,blazor.server.js文件在加载后会调用afterBlazorServerJSLoaded函数,从而保证其他脚本文件在其之后加载。