2010-07-03 3 views
0

Je sais que c'est une ancienne bibliothèque JQuery, mais j'utilise encore Thickbox 3.1 sur mon site. Sur Chrome et Safari, lorsque vous cliquez sur un lien thickbox, la page iframed apparaît, mais il n'y a pas d'image de préchargement. Il va directement à la page et attend le popup jusqu'à ce qu'il se charge. Cela devient un problème lorsque le popup charge beaucoup de contenu et prend plus de quelques secondes. Il semble cassé à l'utilisateur. Ce qui devrait arriver, comme sur IE et Firefox, c'est qu'il y a une image ajax de chargement, qui tourne et attend que le popup se charge jusqu'à ce qu'il disparaisse. Est-ce que quelqu'un d'autre a eu un problème avec ceci et sait comment réparer le code de JS pour ceci? Je crois que c'est où il appelle dans le fichier thickbox.js:Bug JQuery Thickbox Ajax Loader dans Chrome/Safari

//on page load call tb_init 
$(document).ready(function(){ 
    tb_init('a.thickbox, area.thickbox, input.thickbox');//pass where to apply thickbox 
    imgLoader = new Image();// preload image 
    imgLoader.src = tb_pathToImage; 
}); 

Merci à tous pour l'aide. Cela me rend fou en essayant de comprendre!

Répondre

1

J'ai finalement compris. Il semble que le créateur de Thickbox 3.1 ait ajouté du code pour désactiver la fonctionnalité de chargement sur Safari/Chrome. Peut-être qu'en 2007, ce n'était pas supporté. La solution consiste à commenter les lignes 237 à 240.

if($.browser.safari){ 
$("#TB_load").remove(); 
$("#TB_window").css({display:"block"}); 
}