Javascript 确定图像何时加载到带有RaphaelJS的svg中

Javascript 确定图像何时加载到带有RaphaelJS的svg中,javascript,svg,raphael,Javascript,Svg,Raphael,我正在尝试解决如何确定svg图像何时加载到浏览器中。我用的是Raphael JS,我试过: var image = paper.image(path, 0,0,10,10); image.node.addEventListener('load', function(){alert("test");}); 以及: 都没有用。我还使用了“onload”和“onsvgload”,但都不起作用 是否需要确定svg图像是否已实际加载 我甚至尝试使用image()对象加载图像,然后调用paper.imag

我正在尝试解决如何确定svg图像何时加载到浏览器中。我用的是Raphael JS,我试过:

var image = paper.image(path, 0,0,10,10);
image.node.addEventListener('load', function(){alert("test");});
以及:

都没有用。我还使用了“onload”和“onsvgload”,但都不起作用

是否需要确定svg图像是否已实际加载

我甚至尝试使用image()对象加载图像,然后调用paper.image()——但我得到了两个对图像的调用(而不是使用预加载的图像); 即:


有什么想法吗?

使用
onLoad
事件处理程序可以工作,只需一行额外的代码:

var image = paper.image(path, 0,0,10,10);
var image_node = image.node;
image_node.setAttribute('externalResourcesRequired','true');
image_node.addEventListener("load", function() {
    console.log("image is loaded!");
})

您需要将
externalResourcesRequired
属性设置为true。您可以在此处了解更多信息:

这适用于除IE之外的所有浏览器。您有什么想法如何在IE中实现这一点?
var preload = new Image();
preload.src = imgPath;
preload.addEventListener('load', function () {
    image.path = preload.src;
    //Now load image in raphael - except this still forces the browser to make another call for the image
});
var image = paper.image(path, 0,0,10,10);
var image_node = image.node;
image_node.setAttribute('externalResourcesRequired','true');
image_node.addEventListener("load", function() {
    console.log("image is loaded!");
})