.load()在ipad上不起作用

我有简单的脚本来检查图像,但它在我的ipad 5.1上没有正常工作。 在图像中我收到jpg的流,因此加载必须在每个帧上工作(如在大型safari中),但在ipad中它只会触发一次。 可能是一些建议?

$('#image').load(function(){ console.log(new Date().getTime();); }); 

它在jQuery官方网站上提到:

与图像一起使用时加载事件的注意事项

开发人员尝试使用.load()快捷方式解决的常见挑战是在图像(或图像集合)完全加载时执行函数。 应该注意有几个已知的警告。 这些是:

  • 它不能一致地工作,也不能可靠地跨浏览器
  • 如果图像src设置为与之前相同的src,则它在WebKit中无法正确触发
  • 它没有正确地冒泡DOM树
  • 可以停止为已经存在于浏览器缓存中的图像触发

正如@ Parv-sharma所说,.load不可靠。 这里的经验相同。

如果这是关于响应式图像调整(只是猜测)的东西,这是恕我直言,你最好的解决方法:

  1. 当然有一个中央resizeScript()。 确保你抓住了img.height()=== 0的情况,在这种情况下坚持你的优雅降级,即默认也称为非js缩放。 (阅读:暂时不做任何事)

  2. 激活你的resizeScript()最多三次

    在image.load()上,在jQuery.ready()上,最后是延迟的,几毫秒之后。

     setTimeout( App.adjustFullsize ,300); 

    这要么没有坏处(如果其中一个先前的调用已经完成了工作,或者事情仍然失败)但是有一个很好的改变,图像现在也“正式”加载……

(哦,还有第四次,你可能想要注册到resize()(即设备转弯)事件……)