2010-04-05 3 views
1

S'il vous plaît voir: http://flx.me/h/0504/Jquery: Comment placer des triggers sur des images déjà mises en cache?

Source: http://pastebin.com/bDh5k3Qd

jquery.preload-min.js: http://jquery.com/plugins/project/Preload

jquery.jplayer.min.js: http://www.happyworm.com/jquery/jplayer/0.2.4/developer-guide.htm

J'utilise jquery.preload -min.js pour précharger les images et envoyer un déclencheur de lecture à jquery.jplayer.min.js pour commencer à lire un fichier mp3.

Cela fonctionne très bien lorsque vous visualisez la page pour la première fois (ou que vous forcez à recharger tout le contenu). Cependant, lorsque l'image a déjà été mise en cache, elle n'utilise pas le script de préchargement et n'envoie donc pas le déclencheur de lecture à jplayer. Comment puis-je envoyer un déclencheur de lecture même lorsque l'image est mise en cache?

Nous vous remercions à l'avance,

Dennis

+0

pourquoi hxxp: // et pas seulement http: //? – jerone

+0

Parce que je n'ai pas encore une réputation de 10, malheureusement. Mes excuses pour le balisage de mon message. – FLX

Répondre

4

Vous pouvez faire quelque chose comme ceci:

$("image_selector_here").each(function() { 
    if(this.complete) $(this).load(); 
}); 

Cela déclenche l'événement de chargement pour les images mises en cache (this.complete == true) où le navigateur ne déclenche pas l'événement .load() lui-même.

+0

Assurez-vous que vous attendez que toutes les images soient chargées avant de déclencher un événement pour que votre boucle expire. Cela m'a pris trop longtemps et m'a coûté trop de cheveux pour comprendre. – dclowd9901

+0

Est-il possible que cela ne fonctionne pas dans IE7? – skybondsor

0

1 Le problème est - si l'image est mise en mémoire cache, puis onComplete fonctionne pas, car ne sont pas envoyé des demandes au serveur.

2 Si je comprends de votre code, vous pas besoin d'un rappel onComplete pour chaque image .. Peut être que vous pouvez essayer événement OnFinish?

3 La meilleure façon de faire cette tâche est d'écrire votre propre préchargement :)

+0

Bonjour Dyatlov, OnFinish ne change rien, car il ne charge pas le script car l'image est mise en cache. Si j'avais les compétences, j'aurais écrit un preloader, mais je suis très nouveau à Jquery. Aussi, j'ai trouvé ce code: hxxp: //github.com/peol/jquery.imgloaded/blob/master/ahpi.imgload.js Mais je ne peux pas sembler le faire fonctionner, je aime utiliser la fonction placeholder son utilisation pour le moment, donc j'ai essayé d'utiliser certaines parties en vain. D'autres idées? Merci, Dennis – FLX

+0

'.complete' * fonctionne * avec les images mises en cache. C'est onLoad() qui ne le fait pas. – dclowd9901

Questions connexes