我想在Blazor服务器的一个新选项卡中打开一个链接,并且正在使用js-interop:
await JsRuntime.InvokeVoidAsync("open", url, "blank");
这在我的本地机器上运行,构建使用dotnet watch运行,但当我将其部署到服务器时,我会得到一个";正在尝试重新连接"几秒钟后JS就不运行了。
有人知道发生了什么事吗?我该怎么解决这个问题?谢谢
EDIT1:一些额外的上下文-这段代码是由ChartJS的OnClick回调为折线图调用的,这可能意味着JS在另一端。我还发现使用NavigationManager。该方法回调中的NavigateTo也会导致同样的问题。
您的第三个参数中缺少下划线
await JsRuntime.InvokeVoidAsync("open", url, "_blank");
它是_blank
而不是blank
。您的浏览器正在尝试查找blank
帧,但找不到它并重新加载整个页面。