[.NET 9] BlazorWebView 无法在较旧的 Android 设备上加载, 附临时解决方法
BlazorWebView 无法在较旧的 Android 设备上加载Uncaught SyntaxError: Unexpected token .
.NET 9 低于 v17 的 iOS 版本,IOS 16(2022年9月)、安卓API 31(2021年10月)上的 blazor.webview.js 出现意外语法错误
参考链接
https://github.com/dotnet/aspnetcore/issues/53699
https://github.com/dotnet/maui/issues/24278
生成的 JS 文件blazor.webview.js包含 JS 代码,除非它们更新其 WebView,否则这些代码在旧版 Android 系统上无效。
加载 BlazorWebView 的内容时立即发生此错误:Uncaught SyntaxError: Unexpected token .
并发生在文件中的这行 JS 上:
function l(e) {
const t = a.get(e);
return t?.browserEventName || e // <------------
}
在这些较旧的 Android 模拟器rom上,您可以更新 System WebView 以获取较新的版本,这似乎可以解决问题。
供将来参考:如果我们决定在较旧的 Android/Chrome/WebView 上再次运行此功能,那么我们还需要重新启用在引入此中断时已禁用的一些测试。我们将 Android API 28、29、30 添加到我们在 dotnet/maui 存储库中为 BlazorWebView 测试的 API 级别排除列表中。在此处查看更改: dotnet/maui@ 9c03adc #diff-d2d1c388a0fb3196dbfcdab96421bc88336637a3d44480c96717f92d000facaeL155-R155
<! androidApiLevelsExclude: [ 27, 26, 25, 24, 23, 22, 21 ] # BlazorWebView requires a recent version of Chrome
!> androidApiLevelsExclude: [ 30, 29, 28, 27, 26, 25, 24, 23, 22, 21 ] # BlazorWebView requires a recent version of Chrome
^^^^^^^^^^^^
我们相信大多数设备会自动更新到最新的 webview,因此我们不愿意做出改变来适应旧的 JavaScript 运行时。
唯一的挑战是@danroth27即使是全新的工业 Android 设备也经常运行较旧的 Android 版本。我来这里只是因为我有一套 Android 10 (v29) 条码扫描器,并且我尝试更新到 .NET 9。这是否意味着 .NET 8 对我来说是终点了?
临时方案
自己构建 blazor.webassembly.js
https://github.com/Yu-Core/SwashbucklerDiary/issues/79?wt.mc_id=DT-MVP-5005078
针对旧版 Android 设备上 Blazor Hybrid 的解决方法
https://github.com/dotnet/maui/discussions/27327?wt.mc_id=DT-MVP-5005078
关联项目
FreeSql QQ群:4336577
BA & Blazor QQ群:795206915
Maui Blazor 中文社区 QQ群:645660665
知识共享许可协议
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名AlexChow(包含链接: https://github.com/densen2014 ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系 。
转载声明
本文来自博客园,作者:周创琳 AlexChow,转载请注明原文链接:https://www.cnblogs.com/densen2014/p/18671220
AlexChow
今日头条 | 博客园 | 知乎 | Gitee | GitHub
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· 易语言 —— 开山篇
2024-01-14 MAUI 在 VS for mac 无法生成/调试net8工程解决办法