asp.net core BrowserDetector 浏览器探测插件

Install-Package Shyjus.BrowserDetector

services.AddBrowserDetection();

在控制器中的使用

public classHomeController : Controller
{
    privatereadonly IBrowserDetector browserDetector;

    public HomeController(IBrowserDetector browserDetector)
    {
        this.browserDetector = browserDetector;
    }

    public IActionResult Index()
    {
        var browser = this.browserDetector.Browser;
        // 按需使用 browser 对象

        return View();
    }
}

在视图中使用

@inject Shyjus.BrowserDetection.IBrowserDetector browserDetector

<h2>@browserDetector.Browser.Name</h2>
<h3>@browserDetector.Browser.Version</h3>
<h3>@browserDetector.Browser.OS</h3>
<h3>@browserDetector.Browser.DeviceType</h3>

在自定义中间件中的使用

public classMyCustomMiddleware
{
    private RequestDelegate next;

    public MyCustomMiddleware(RequestDelegate next)
    {
        this.next = next;
    }

    public async Task InvokeAsync(HttpContext httpContext, IBrowserDetector browserDetector)
    {
        var browser = browserDetector.Browser;

        if (browser.Type == BrowserType.Edge)
        {
            await httpContext.Response.WriteAsync("Have you tried the new chromuim based edge ?");
        }
        else
        {
            awaitthis.next.Invoke(httpContext);
        }
    }
}

作者:spike

分类: Net

创作时间:2025-04-05

更新时间:2025-04-06

联系方式放在中括号之中例如[[email protected]],回复评论在开头加上标号例如:#1