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