2010-11-12 3 views
0

J'ai résolu le problème avec le flash overlaying thickbox sur Internet Explorer, mais l'image flash disparaît. Je dois actualiser la page pour récupérer l'image flash. Je mets ce codage dans le fichier thickbox.js:flash superpositions thickbox sur Internet Explorer, puis le flash disparaît

$('object').each(function() { 
    this.regDisplay=this.style.display; this.style.display='none'; 
}) 
$('#TB_window object').each(function(){ 
    this.style.display=this.regDisplay; 
}) 
$('object').each(function(){ 
    this.style.display=this.regDisplay; 
}) 

Après mes images Thickbox agrandir, je puis faites défiler ma galerie d'image et quand je ferme la galerie, mon image flash disparait. Il n'apparaît que lorsque j'actualise la page Web. Comment l'image flash reste-t-elle sur la page sans disparaître?

Merci pour l'aide.

Répondre

1

Modifié: (mon ancienne réponse ci-dessous) Mon ancienne solution a provoqué l'événement de déchargement de l'thickbox ne sera pas déclenché. Mon mauvais :( Le problème est, lorsque l'événement de déchargement est déclenché dans IE, en quelque sorte le il va supprimer le flash (ne me demandez pas pourquoi,: p). Après avoir creusé sur Internet, j'ai trouvé que lorsque vous mettez l'objet flash à l'intérieur d'un iframe que le comportement étrange ne se produira plus, :)

je suis tombé sur le même problème et je ne l'a résolu,: D

Ma solution est de changer les jquery.thickbox.js fichier un bit

J'ai trouvé que le coupable est dans la fonction tb_remove(), quand il tente de déclencher l'événement unload, de délier tous les événements, et de supprimer les "#TB_window", "#TB_overlay" et "#TB_HideSelect" "ele ments. Vous devriez trouver cette ligne dans le fichier jquery.thickbox.js:

$("#TB_window").fadeOut("fast",funtriction(){$('#TB_window,#TB_overlay,#TB_HideSelect').trigger("unload").unbind().remove();}); 

J'ai changé l'ordre de la méthode appelée en:

$("#TB_window").fadeOut("fast",funtriction(){$('#TB_window,#TB_overlay,#TB_HideSelect').remove().trigger("unload").unbind();}); 

J'espère que cela pourrait vous aider, :)

Cheers

Questions connexes