ASP.NET Core 5开发Blazor Server应用出现navigator相关报错如何解决
Blazor Server .NET 5 Chrome用户代理属性弃用警告解决方案
问题说明
该警告是Chrome浏览器抛出的旧版用户代理API弃用提示,触发源是.NET 5自带的blazor.server.js内置逻辑,和你自行编写的业务代码无关。警告原始信息翻译如下:
审计到对navigator.userAgent、navigator.appVersion和navigator.platform的使用
当前页面或脚本访问了navigator.userAgent、navigator.appVersion、navigator.platform中的至少一个属性。在未来的Chrome版本中,用户代理字符串里提供的信息量将会缩减。
要修复该问题,请将上述三个属性的使用替换为特性检测、渐进增强方案,或者迁移到navigator.userAgentData接口。
请注意出于性能原因,仅会展示对这些属性的第一次访问调用。
1个触发源:
blazor.server.js:1
该警告仅为未来兼容性提示,不会影响当前版本Chrome下的应用正常运行。
解决方案
- 根本解决:升级.NET版本
.NET 5已经于2022年5月停止官方支持,升级到.NET 6或更高的LTS(长期支持)版本后,微软官方已经在新版Blazor Server的内置脚本中修复了该API调用问题,升级后警告会自动消失。 - 临时兼容方案(仅适用于暂时无法升级的场景)
该警告不影响现有功能正常运行,若不需要处理可直接忽略。若需要在开发者工具中隐藏该提示,可在Console面板的过滤规则中添加关键字过滤,屏蔽包含Audit usage of navigator.userAgent的提示即可。
内容的提问来源于stack exchange,提问作者John
相关产品推荐
相关产品推荐

