Quand le succès d'AJAX est-il déclenché?

Je souhaite charger un document HTML par AJAX, mais je veux le montrer lorsque toutes les images de ce document sont saturées.

$('.about').click(function () { $(".back").load('Tour.html', function () { $(".back").show(); }); }); 

".back" devrait être visible lorsque toutes les images dans Tour.html sont chargées, quand est déclenché un événement de réussite ??

 $(".back").load('Tour.html', function (html) { var $imgs = $(html).find('img'); var len = $imgs.length, loaded = 0; $imgs.one('load', function() { loaded++; if (loaded == len) { $(".back").show(); } }) .each(function () { if (this.complete) { $(this).trigger('load'); }); }); 

Cela nécessite au moins un <img> dans le html renvoyé.

Ce que je suggère, c'est d'utiliser un iframe à la place. Voici un exemple de code en JavaScript simple:

 var ifr=document.createElement("iframe"); ifr.style.display="none"; document.body.appendChild(ifr); ifr.onload=function() { // Do what you want with Tour.html loaded in the iframe }; ifr.src="Tour.html"; 

ImagesLoaded est ce que vous recherchez.

Placez tout le code (demande ajax dans ce cas), lorsque les images spécifiées sont chargées.

Le plugin spécifie pourquoi vous ne pouvez pas utiliser load() sur les images en cache