我试图在画布上嵌入一个SVG,但是当SVG来自我的域时,在event phase 2处会出现错误。奇怪的是,如果同一张图片托管在不同的服务器上,它就能正常工作。我正在测试的图像是这里。即使我使用
这是我使用的代码,当图像托管在我的域时会出错:
wget
下载该图片并将其放入图像文件夹中,我仍然会遇到相同的错误。但是,如果我使用<object data="/images/tiger.svg" type="image/svg+xml"></object>
将其放入文档中,则可以工作,但如果我在JavaScript中设置源并在画布上绘制,则无法工作。这是我使用的代码,当图像托管在我的域时会出错:
var canvas = document.getElementById('my-canvas'),
ctx = canvas.getContext('2d'),
img = new Image();
img.onload = function() { ctx.drawImage(img, 0, 0); };
img.onerror = function(err) { console.log(err); };
img.src = '/images/tiger.svg'; // replacing this with 'http://phrogz.net/svg/tiger.svg' does work
这里是来自Firebug的错误数据
NONE 0
defaultPrevented false
multipleActionsPrevented false
stopImmediatePropagation stopImmediatePropagation()
bubbles false
cancelable false
eventPhase 2
isTrusted true
timeStamp 1373387631408000
type "error"