下面是我简化的场景:
我试图访问一个图像链接,说,页"A"。我的脚本打开A页。但事情没那么简单。由于各种原因(即登录凭据,重定向),我不能直接使用
window.open(url).getElement...
因为我在这里得到的不包含我想要的目标图像
我可以这样做的一种方法是设置window.open(url).onload=function(){//get the image};
也就是说,我可以在页面完全加载时获得图像(因此包括重定向)。
我的问题是,有没有一种方法可以在元素还不存在的情况下完成element.onload
?在这个场景中,它将在不等待图像完全加载的情况下获取图像URL
图像对象很适合这样做。只要把这个函数放在你想要加载图像的地方。
function loadImageInto(id){
var image = new Image();
image.onload = function(){
document.getElementById(id).src = image.src;
};
image.src = "imagefile.jpg";
}
如果你需要一个事件处理程序,你可以这样做。
function loadImageInto(id){
return function(){
var element = this;
if(typeof id !== 'undefined'){
element = document.getElementById(id);
}
var image = new Image();
image.onload = function(){
element.src = image.src;
};
image.src = "imagefile.jpg";
}
}
当然,这只会在你提前知道图像url的情况下起作用