在一个HTML5画布应用中,我使用剪辑来重新绘制画布上受损的部分,代码如下:
ctx.beginPath();
ctx.rect(30, 30, 100, 100);
ctx.rect(100, 100, 100, 100);
ctx.clip();
ctx.clearRect(0, 0, 600, 400);
我还创建了一个演示,说明了问题。在除IE10之外的所有现代浏览器上,它将显示两个重叠的黑色矩形。
现在的问题是,这是否是IE10的bug,还是因为它更严格地遵循标准,实际上是预期行为,并且只是在其他浏览器中运行的幸运?如果是这样的话,那么正确的做法是什么呢?