获取图像下载结果

时间:2016-11-23 09:34:27

标签: javascript

如果我简化我的javascript代码,就像这样:

我的对象有方法" dwnImage"负责从某个网址下载图片。当我调用此方法时,我希望此方法的结果告诉我图像是否已成功下载或存在某些错误,例如img不存在,错误的网址。我怎么能这样做?

GM.Log=function(){
  var imgLg=null;
  var result=0;
  var imgLoaded = function () {
    result=1;
  };
  var init = function () {
    imgLg= new Image(1,1);
    imgLg.addEventListener('load', imgLoaded(), false);
  }

  var dwnImage=function(url){
    imgLg.src=url;
    return result;
  }
  return {
    init: init
  }
}

var test=new GM.Log();
test.init();
var result=test.dwnImage("http://...");

1 个答案:

答案 0 :(得分:0)

一般来说,你不能。在代码的最后一行使用http://意味着您将退出the same origin policy:您无法在跨源资源上获取加载事件。

如果情况并非如此,那么您需要:

  1. Pass a function and not the return value of that functionaddEventListener
  2. Learn how to handle asynchronous functions