-1

我在我的页面上添加了一个 FrancyBox Youtube Iframe,但是当我关闭 Iframe 时,我会从 Internet Explorer 9.0(大约 15 或更高版本)收到带有 Javascript 错误的对话框。

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

这只是发生在 Youtube 链接上,我也在以下示例中尝试过:http: //fancyapps.com/fancybox/

我得到了同样的结果,有什么想法吗?

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

4

3 回答 3

4

这对我有用(我知道非常糟糕的代码技巧)

在 fancybox 上添加一个beforeClose事件。该函数会先将iframe的src设置为about:blank,500ms后才会真正关闭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; 
  } 
}
于 2012-10-24T09:35:51.047 回答
3

其他灯箱也报告了该错误,包括 colorbox(放弃以前提出的 fancybox 不是解决方案)......它更像是一个 IE9 错误。你可以在这里阅读更多

报告与colorbox相同问题的人似乎找到了一种解决方法

<meta http-equiv="X-UA-Compatible" content="IE=8" />
于 2012-06-11T19:36:41.810 回答
0

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

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

于 2012-06-11T18:59:51.317 回答