Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/106.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么iOS在调整大小后无法呈现html5画布图形?_Javascript_Ios_Html_Canvas - Fatal编程技术网

Javascript 为什么iOS在调整大小后无法呈现html5画布图形?

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

我有一个HTML5画布对象,我使用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与此无关

我确实发现,尽管这可能会帮助其他人,但在浏览器中有一个允许拉票的最大大小,而在移动浏览器(如Safari)中,这个大小惊人地小

有关更多信息,请参见此问题:


我试图渲染一个对iPhone来说太大的画布。

闻起来像是比赛条件。我不知道为什么会发生这种情况,但是setTimeout不是最好的解决方案。谢谢你的评论-我已经添加了一个答案,但是我对这个问题的诊断是错误的。