在同一浏览器会话中调用两次Fancybox停止工作

时间:2012-01-20 23:32:05

标签: javascript fancybox

我对Fancybox有一个奇怪的问题。使用版本1.2.6(是的它已经过时了,但这就是我目前所困扰的),我通过点击按钮调用iframe(见下面的截图)

enter image description here

如果用户选择单选按钮并提交表单,则一切正常。但是,如果用户关闭fancybox然后再次调用iframe(使用与之前相同的按钮单击),则表单不可单击。相反,iframe上有左箭头和右箭头,就像它试图显示图片一样(见下面的截图)

enter image description here

“修复”问题的唯一方法是重新加载页面,或者首先关闭fancybox。

[UPDATE]

以下是我调用fancybox的方法。要关闭fancybox,您必须单击“修改地址”按钮。

$('#hidden_link').fancybox({
    frameWidth:400,
    frameHeight:500,
    hideOnOverlayClick:false,
    hideOnContentClick:false,
    showCloseButton:false
}).trigger('click');

元素#hiddenlink是隐藏的href

<a href="/assets/cnt/index.html" style="display:none;" id="hidden_link"></a>

[更新2]

发生这种情况时,

Firebug会显示错误Image corrupt or truncated: data:image/gif;base64,AAAA。不确定这是否相关。

1 个答案:

答案 0 :(得分:1)

Fancybox是否为页面加载时的模态创建容器div,还是按需创建它?如果它在页面加载时创建一个,那么它可能会提供一个“销毁”或“删除”方法,您可以在关闭时调用。

如果它按需创建一个,那么您可以在关闭时明确销毁现有的一个。