Firefox画布在删除和添加后不显示任何内容

Firefox画布在删除和添加后不显示任何内容,firefox,canvas,Firefox,Canvas,我对Firefox中的有问题。第二次使用Javascript删除并添加它时,将不会绘制任何内容。我检查了代码,似乎发现,它甚至可以在Chromium和Opera中正常工作,没有任何问题。有人认识这个吗?我不知道如何调试画布 我希望我能提供一个代码片段,但我无法在代码库之外重现该bug。画布对可能影响内容的更改是被动的。它不跟踪这些事情 解决方案是在发生更改时(如本例中)始终更新内容 您还可以点击window.resize(例如,如果使用对话框等,Chrome可能会清除画布),并且可能存在其他未知

我对Firefox中的
有问题。第二次使用Javascript删除并添加它时,将不会绘制任何内容。我检查了代码,似乎发现,它甚至可以在Chromium和Opera中正常工作,没有任何问题。有人认识这个吗?我不知道如何调试画布


我希望我能提供一个代码片段,但我无法在代码库之外重现该bug。

画布对可能影响内容的更改是被动的。它不跟踪这些事情

解决方案是在发生更改时(如本例中)始终更新内容


您还可以点击window.resize(例如,如果使用对话框等,Chrome可能会清除画布),并且可能存在其他未知因素。因此,永远不要假设画布将包含所绘制的内容,而总是在这些情况下重新绘制所有内容。

画布对可能影响内容的更改是被动的。它不跟踪这些事情

解决方案是在发生更改时(如本例中)始终更新内容


您还可以点击window.resize(例如,如果使用对话框等,Chrome可能会清除画布),并且可能存在其他未知因素。因此,永远不要假设画布将包含所绘制的内容,而总是在这些情况下重新绘制所有内容。

因此,没有办法编程检查画布上的内容(似乎不是在Firefox中)?@OlleHärstedt检查画布是另一回事。您可以使用
context.getImageData(x,y,w,h)
进行此操作(但请注意,CORS限制将适用于图像)。这在包括FF在内的所有主要浏览器中都能正常工作。但是为了确保画布能够保存内容,只有一种安全的方法,那就是在操作表明有丢失内容的风险时更新画布。好的,我终于找到了错误!在移除并添加了新画布之后,我仍然从旧画布获得了上下文。为什么它在除Firefox之外的所有浏览器中都能工作是一个谜。在这种情况下,我只希望
getContext(“2d”)
返回
null
,这样就没有办法通过编程检查画布上的内容(似乎不是在Firefox中)?@OlleHärstedt检查画布是另一回事。您可以使用
context.getImageData(x,y,w,h)
进行此操作(但请注意,CORS限制将适用于图像)。这在包括FF在内的所有主要浏览器中都能正常工作。但是为了确保画布能够保存内容,只有一种安全的方法,那就是在操作表明有丢失内容的风险时更新画布。好的,我终于找到了错误!在移除并添加了新画布之后,我仍然从旧画布获得了上下文。为什么它在除Firefox之外的所有浏览器中都能工作是一个谜。我只希望
getContext(“2d”)
在这种情况下返回
null
。。。