【发布时间】:2014-09-10 03:56:06
【问题描述】:
我有一个 HTML5 Canvas 对象,我使用 Javascript 调整它的大小。然后我在上面画。
在 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不是最好的解决方案。 -
感谢您的评论 - 我已经添加了答案,但我对问题的诊断是错误的。
标签: javascript ios html canvas