我在一个名为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>
有人可以帮忙吗?
提前致谢 扬
答案 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):