【问题标题】:mobile safari - reliable callback for when Image loads?移动 safari - 加载图像时的可靠回调?
【发布时间】:2012-08-04 13:36:16
【问题描述】:

我尝试这样加载图像:

var img = new Image();
img.src = 'mars.png';
img.onLoad = callback;


function callback(){
    // doesnt fire
       alert("loaded");
}

回调永远不会触发,解决方法是什么?

【问题讨论】:

    标签: javascript html safari mobile-safari


    【解决方案1】:

    您必须在更改 src 之前定义 onload,并且事件处理程序是小写的,因此拼写为 onload

    var img = new Image();
    img.onload = callback;
    img.src = 'mars.png';
    
    function callback(){
      alert("loaded");
    }
    

    或者我喜欢它

    var img = new Image();
    img.onload = function(){
      alert("loaded");
    }
    img.src = 'mars.png';
    

    【讨论】:

      【解决方案2】:

      你试过这些吗?

      var img = new Image();
      img.src = 'mars.png';
      img.onLoad = function(){
          // doesnt fire
             alert("loaded");
      };
      

      【讨论】:

      • 在移动和桌面 safari 上都不会触发,Chrome 似乎也是如此
      【解决方案3】:

      mplungjan 是对的,你可以改用这些:

      img.onload = function(){
          // doesnt fire
             alert("loaded");
      };
      

      onLoad

      中的 l 较低

      【讨论】:

      • “onLoad 中的 l 较低”是什么意思?
      • 你应该使用onload而不是onLoad
      • 哈哈,现在看来很明显了,等不及你在 2018 年的回复了
      • 让我们看看。这只是为了记住在 2018 年放点东西
      猜你喜欢
      • 1970-01-01
      • 2015-03-29
      • 1970-01-01
      • 2012-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-24
      • 2011-04-22
      相关资源
      最近更新 更多