Lee*_*Lee 5 javascript svg raphael
我正在尝试找出如何确定何时在浏览器中加载了svg图像。我正在使用Raphael JS,并且尝试了:
var image = paper.image(path, 0,0,10,10);
image.node.addEventListener('load', function(){alert("test");});
Run Code Online (Sandbox Code Playgroud)
和:
$('image').on('load')
Run Code Online (Sandbox Code Playgroud)
一切都无济于事。我还使用了“ onload”和“ onsvgload”这两个都不起作用。
是否可以确定svg映像是否已实际加载?
我什至尝试使用Image()对象加载图像,然后调用paper.image(),但是我得到了两次对图像的调用(而不是使用预加载的图像);即:
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
});
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
使用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!");
})
Run Code Online (Sandbox Code Playgroud)
您需要将该externalResourcesRequired
属性设置为 true。您可以在这里阅读更多相关信息:http://www.w3.org/TR/SVG/struct.html#ExternalResourcesRequired
归档时间: |
|
查看次数: |
1635 次 |
最近记录: |