最新iOS版本上的Cordova Webview canvas redering bug(10.3.1)

我有一个使用PhoneGap构建的应用程序。 应用程序中的一个页面将其他页面canvas的内容复制为图像。 这在旧版本的iOS上运行良好,但最近我注意到复制的canvas有时是空白的。 页面的其余部分正确呈现。 我不知道它悄悄进入哪个iOS版本,但我目前正在iPad Pro上运行iOS 10.3.1。 当相同的代码在移动版Safari(或Chrome或我的Mac笔记本电脑浏览器)中作为WebApp运行时,不会发生这种情况。

使用App上的调试器,我可以通过简单地切换display属性来恢复页面。 这向我表明,这是Cordova使用的内置Webview中的渲染错误。 我目前有一个切换显示属性的补丁。 这有效,但即使使用requestAnimationFrame()或SetTimeout(fn,0)也会导致闪烁。

该应用程序使用PhoneGap Build使用cli-6.5.0构建。

有没有其他人看过这个bug或有更好的补丁?

跟进:切换可见性可修复闪烁现象。 当问题发生时,canvas表现得像它不可见,但DOM报告它是。 当在Ajax回调下复制canvas时,似乎也会出现问题。 使用setTimeout()延迟处理并不能解决问题。