在Internet Explorer上闪存覆盖厚盒,然后闪光灯消失

时间:2010-11-12 05:56:16

标签: flash overlay thickbox

我解决了在Internet Explorer上使用flash覆盖thickbox的问题,但随后flash图像消失了。我必须刷新页面才能恢复闪存图像。我把这个编码放在thickbox.js文件中:

$('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;
})

在我的厚盒图片放大后,我滚动浏览了我的图片库,当我关闭图库时,我的闪光图像消失了。它只在我刷新网页时重新出现。闪存图像如何保留在页面上而不会消失?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

编辑:(我的旧答案如下) 我的旧解决方案导致厚箱的卸载事件不会被触发。我的错 :( 问题是,当在IE中触发卸载事件时,它会以某种方式移除闪存(不要问我为什么,:p)。 在互联网上挖掘之后,我发现当你将flash对象放在iframe中时,不再会发生奇怪的行为,:))

我遇到了同样的问题,我刚解决了,:D

我的解决方案是稍微更改jquery.thickbox.js文件

我发现罪魁祸首是在tb_remove()函数中,当它试图触发unload事件时,取消绑定所有事件,并删除“#TB_window”,“#TB_overlay”和“#TB_HideSelect”元素。 你应该在jquery.thickbox.js文件中找到这一行:

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

我改变了调用方法的顺序:

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

我希望它可以帮到你,:))

干杯