我使用 JSRuntime 从 C# 实现了打开一个新的选项卡/窗口。它在桌面上运行良好,但在手机上使用 safari 时它什么也做不了:新选项卡无法在移动设备上打开。
有没有人有幸让它发挥作用?
await JSRuntime.InvokeAsync<object>("open", url, "_blank");
最佳答案
添加一个 javascript 方法以在另一个选项卡中打开 URL 并使用 JsRuntime 调用该方法。
如果您使用 window.open()
js 方法,它不会在所有浏览器上工作,因此需要动态创建一个 a
元素并在其上引发点击事件。
见下文:
window.NavigateTo = (url) => {
const link = document.createElement('a');
link.href = url;
link.target = '_blank';
document.body.appendChild(link);
link.click();
link.remove();
}
关于c# - Blazor 使用 JSRuntime 打开新选项卡/窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64359723/