2012-06-11 69 views
-1

我在我的页面上添加了一个FrancyBox Youtube Iframe,但是当我关闭Iframe时,我从Interet explorer 9.0(约15或以上)和Javascript错误获得对话框。Youtube上的Fancybox错误IFrame Internet Explorer

http://descuentalomallorca.com/uploads/fancy/demo/index.html

这只是发生在Youtube链接上,我也尝试在的例子: http://fancyapps.com/fancybox/

,并即时得到相同的结果,任何想法?

错误http://descuentalomallorca.com/uploads/fancy/fancy.jpg

回答

0

这的图是不是你的代码。如果你尝试fancybox网站上的Youtube链接,你会发现它也发生在那里。即使在Fancybox 2上。

您可以在未压缩版本中找到问题的来源,也可以切换到使用其他库。一个这样的库是Colorbox。他们在那里的YouTube示例没有这些回调错误。 qTip2也可以工作,但并不是真正为fancybox设计的。有可能有更多的图书馆和谷歌搜索fancybox的替代品会发现他们。

+0

我看到这也恰好的fancybox页面上,但无论如何,我试着Colorbox,如你所说:http://www.jacklmoore.com/colorbox/example1/和令人惊讶的是,我得到了同样的错误关闭YouTube的iFrame,测试它 – Godfather

+0

肯尼迪是正确的。这是IE9的事情,我一定错过了。 ''是一种解决方法。应该接受他的回答。 – Recognizer

3

这个bug也被其他灯箱报告过,包括colorbox(以前提出的开槽fancybox不是解决方案)......它更像是一个IE9的bug。您可以read more here

有人认为报道了同样的问题与colorbox似乎已经找到了解决办法增加

<meta http-equiv="X-UA-Compatible" content="IE=8" /> 
+0

当我换出Colorbox的浏览器模式时,我必须错过IE9。以为我测试了所有的模式。 – Recognizer

+0

这帮了我。不得不使用IE = 7,并且做了诀窍。 – Darius

4

这为我工作(非常糟糕的代码,招我知道)

添加上一个beforeClose事件fancybox。该功能将首先在iframe的src设置为about:blank和500 ms后,将真正关闭的fancybox(直接关闭它仍然会得到错误)

beforeClose : function() { 
    if(!window.mayclosebox) { 
    $('.fancybox-iframe').attr('src','about:blank');window.mayclosebox = true;setTimeout('$.fancybox.close();',500);return false; 
    } else { 
    window.mayclosebox = false;return true; 
    } 
}