一尘不染

为什么canvas.toDataURL()抛出安全异常?

javascript

我睡眠不足吗?以下代码

var frame=document.getElementById("viewer");
frame.width=100;
frame.height=100;

var ctx=frame.getContext("2d");
var img=new Image();
img.src="http://www.ansearch.com/images/interface/item/small/image.png"

img.onload=function() {
    // draw image
    ctx.drawImage(img, 0, 0)

    // Here's where the error happens:
    window.open(frame.toDataURL("image/png"));
}

抛出此错误:

SECURITY_ERR: DOM Exception 18

这绝对是行不通的!有人可以解释一下吗?


阅读 362

收藏
2020-04-25

共1个答案

一尘不染

在规格中它说:

每当调用其origin-clean标志设置为false的canvas元素的toDataURL()方法时,该方法都必须引发SECURITY_ERR异常。

如果图像来自其他服务器,我认为您不能使用toDataURL()

2020-04-25