0
我有一个HTML5 Canvas对象,我使用Javascript来调整大小。然后我画它。为什么iOS在调整大小后无法呈现html5 canvas绘图?
在iOS上,除非使用setTimeout延迟绘图,否则绘图不会显示。
所以这个代码显示了什么?
myCanvas.width = width;
myContext.strokeStyle = '#000';
myContext.moveTo(0, 0);
myContext.lineTo(2000, 2000);
myContext.stroke();
...但这样做:
myCanvas.width = width;
setTimeout(function(){
myContext.strokeStyle = '#000';
myContext.moveTo(0, 0);
myContext.lineTo(2000, 2000);
myContext.stroke();
}, 100);
在桌面浏览器都工作得不错,但不是在Safari浏览器的iOS。
这是什么原因引起的,setTimeout是解决它的最佳解决方案?
谢谢,
闻起来像是一种竞争条件给我。我不知道它为什么会发生,但'setTimeout'不能是最好的解决方案。 – 2014-09-06 03:17:35
感谢您的评论 - 我添加了一个答案,但我对问题的诊断是错误的。 – Fijjit 2014-09-09 19:56:42