Javascript 为什么iOS在调整大小后无法呈现html5画布图形?
我有一个HTML5画布对象,我使用Javascript调整它的大小。然后我在上面画 在iOS上,图形不会显示,除非我使用setTimeout延迟图形 所以这个代码没有显示任何内容Javascript 为什么iOS在调整大小后无法呈现html5画布图形?,javascript,ios,html,canvas,Javascript,Ios,Html,Canvas,我有一个HTML5画布对象,我使用Javascript调整它的大小。然后我在上面画 在iOS上,图形不会显示,除非我使用setTimeout延迟图形 所以这个代码没有显示任何内容 myCanvas.width = width; myContext.strokeStyle = '#000'; myContext.moveTo(0, 0); myContext.lineTo(2000, 2000); myContext.stroke(); ……但这确实: myCanvas.width = widt
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与此无关 我确实发现,尽管这可能会帮助其他人,但在浏览器中有一个允许拉票的最大大小,而在移动浏览器(如Safari)中,这个大小惊人地小 有关更多信息,请参见此问题:
我试图渲染一个对iPhone来说太大的画布。闻起来像是比赛条件。我不知道为什么会发生这种情况,但是setTimeout不是最好的解决方案。谢谢你的评论-我已经添加了一个答案,但是我对这个问题的诊断是错误的。