Uno.Lottie WebAssembly 中未捕获的类型 JavaScript 错误
Posted
技术标签:
【中文标题】Uno.Lottie WebAssembly 中未捕获的类型 JavaScript 错误【英文标题】:Uncaught Type JavaScript Error In Uno.Lottie WebAssembly 【发布时间】:2020-09-13 17:44:30 【问题描述】:我的页面上有一个用于玩 Lottie 的 AnimatedVisualPlayer:
<winui:AnimatedVisualPlayer
x:Name="player"
AutoPlay="true" Width="150" Height ="150" PlaybackRate="1.5">
<lottie:LottieVisualSource
UriSource="ms-appx:///Lottie/waiter.json" />
</winui:AnimatedVisualPlayer>
我安装了这些软件包:
Microsoft.Toolkit.Uwp.UI.Lottie(用于 LottieVisualSource) Microsoft.UI.Xaml(用于 AnimatedVisualPlayer) Uno.UI.Lottie(用于 LottieVisualSource) Uno.UI(用于 AnimatedVisualPlayer)我也这样做了:
在 WASM、ios 和 macOS 上,您可以将 Lottie .json 文件直接放在 共享项目的文件夹(例如“Lottie/myanimation.json”) 并将其 Build 操作设置为 Content。
UWP 可以无缝玩 Lottie:
但是,WASM 无法播放 Lottie 并出现此错误:
Nuget 包版本:
Nuget 包:
软件包版本:
Uno.UI.RemoteControl 2.4.0 Newtonsoft.Json 12.0.3 Uno.UI.Lottie 2.4.0 Uno.Wasm.Bootstrap 1.2.0 Uno.Wasm.Bootstrap.DevServer 1.2.0 ACM_Search_AdminApps.Shared 1.1.0 Microsoft.Extensions.Logging.Filter 1.1.2 Microsoft.Extensions.Logging.Con... 1.1.1 NETStandard.Library 2.0.3 Uno.UI 2.4.0 ACM_Search_AdminApps.Shared 1.1.0 Microsoft.NETCore.UniversalWindo... 6.2.10 Microsoft.Extensions.Logging.Con... 1.1.1 Microsoft.Extensions.Logging.Filter 1.1.2 Microsoft.Toolkit.Uwp.UI.Lottie 6.0.0 Microsoft.UI.Xaml 2.4.2 Newtonsoft.Json 12.0.3 Uno.Core 2.0.0 Microsoft.Toolkit.Uwp.UI.Lottie 6.0.0我该如何解决这个问题?谢谢。
【问题讨论】:
您似乎发现了一个错误:-)。让我站在我这边试试。你有可以分享的重现代码吗? 当然。我通过 GitHub 协作邀请发送了一份副本。 @CarldeBilly 错误:“类型错误:无法读取未定义的属性'动画'”执行 javascript:“Uno.UI.Lottie.pause(403458);” AND dotnet.js:1 错误 #1 "SyntaxError: Unexpected token ''" 执行 javascript: "Uno.UI.Lottie.setAnimationProperties(elementId:282194,jsonPath:"/Lottie/waiter.json",autoplay:true,拉伸:“统一”,速率:1,5);“ .也许一点“”会导致问题@carldebilly? 我现在正在检查。感谢您的复制! 【参考方案1】:这是 Uno-Wasm 的 Lottie 插件中的一个错误,原因是您使用的是 PlaybackRate
,并且您在非英语环境中运行,并且在文化中使用小数点序列化逗号而不是点。
This PR #3257 应该可以解决问题。
更新:此 PR 已合并,修复将在 Uno v3.0.0-dev.135
中提供。
【讨论】:
是的。我可以确认,删除播放速率后它正在工作。以上是关于Uno.Lottie WebAssembly 中未捕获的类型 JavaScript 错误的主要内容,如果未能解决你的问题,请参考以下文章
《WebAssembly 权威指南》WebAssembly 入门
WebAssembly 系列WebAssembly 工作原理
探索WebAssembly实现iOS热修复/第一篇/WebAssembly快速上手