Blazor中用浏览器打开一个链接的最好方法
适用于Blazor Wasm和Blazor SSR
调用下面的js方法
说一下为什么不用window.open
,有可能被拦截是小问题,大问题是打开新页面未加载完时,回到原页面,大概率卡死,无法点击任何东西,只有f12之后才恢复回来。
而用创建a标签就不会有这种问题。
// 创建超链接,不会被拦截
function openBrowserUrl(url, id) {
let a = document.createElement("a");
a.setAttribute("href", url);
a.setAttribute("target", "_blank");
a.setAttribute("id", id);
// 防止反复添加
if (!document.getElementById(id)) {
document.body.appendChild(a);
}
a.click();
}
适用于Maui Blazor
适用于 Winform Blazor和WPF Blazor
直接用Process.Start(url)
是无效的,还是下面这种方法,调用cmd更好
Process.Start(new ProcessStartInfo("cmd", $"/c start {url}") { CreateNoWindow = true });
适用于 Photino.Blazor的Linux
Process.Start("xdg-open",url);
标签:
Blazor
, MAUIBlazor
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战