fancybox iframe在IE8中不起作用

时间:2013-07-24 14:56:12

标签: jquery internet-explorer internet-explorer-8 fancybox

我在一个名为YALU的已购买的多用途模板中使用Fancybox。 但是,Fancybox iframe在IE 8中不起作用。叠加打开,但不加载任何内容(白色内容)。我也尝试在fancybox中禁用preload功能而没有效果。

所有其他浏览器(Firefox,Chrome,甚至IE 9)都运行良好。 您可以拥有look here(点击第一张示例图片)。

我几天来一直在寻找解决方案,但还没找到。

以下是模板中的一些源代码:

<!doctype html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]>    <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]>    <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en-US"> <!--<![endif]-->
<head>
[...]

这是jquery脚本的一部分:

jQuery(window).load(function($) {
if(jQuery().fancybox) {
    jQuery('.openfancybox').fancybox();
} 
[...]

这是我的标签:

<a data-fancybox-type="iframe" href="404.html" class="openfancybox fancybox.iframe">...</a>

有人可以帮忙吗?

提前致谢 扬

2 个答案:

答案 0 :(得分:2)

我解决了这个问题

这是因为html-tag的错误css声明已被设置为 position:relative

更改为绝对解决了IE8问题。事实上,我并不是真的明白这一点,但它确实有用,这就是我想要的。

感谢您的帮助

答案 1 :(得分:0)

尝试在您的code中停用iframe preload,例如:

if (jQuery().fancybox) {
    jQuery('.openfancybox').fancybox({
        iframe: {
            preload: false // fixes possible issues with iframes and IE
        }
    });
}

检查this以获取进一步的参考。

编辑#1

我认为这不是一个与fancybox相关的问题。您的页面中有一些内容(可能是一个脚本)阻止它使用IE在iframe中显示。

在IE中查看此http://jsfiddle.net/mgENw/show/

此外,您的主页面在页面加载时出现此错误(IE): enter image description here