我已经使用fancyBox v2.1.5为Joomla构建了一个插件。
除IE7外,它在每个浏览器中都运行良好。 这不是一个大问题,但这是我的投资组合网站,所以我希望它在这个旧浏览器中运行。
我有一个iframe,我从联系人插件(响应联系表单)中弹出一个表单,表单将不会显示,但谷歌验证码工具就在那里。
如果我在新的浏览器窗口中打开页面,表单就在那里。
我试图设置iframe:{preload:false} 然后它起作用,表格就在那里,但随后"适合查看"对于fancybox在Opera和IE中不起作用,高度出错了。
非常乐意为您提供帮助!
这是我的Fancybox代码:
<script type="text/javascript">
jQuery(window).on('load', function() {
new JCaption('img.caption');
});
(function($){
$(document).ready(function(){$('.item-page').find('a:has(img)').addClass('fancyboxlink');$('.fancyboxlink').addClass('hiddenclass'); $('.hiddenclass:first').addClass('firstfancybox');$('a.fancyboxlink').attr('rel','gallery');
$('a.fancyboxlink').fancybox({
'type':'iframe',
scrolling: 'auto',
fitToView: true,
autoResize: false,
centerOnScroll: true,
width: 940,
height: 'auto',
scrollOutside: true,
autoCenter: true,
titlePossition: 'outside',
afterShow: function() {
if($('.fancybox-iframe').length > 0) {
this.width = $('.fancybox- iframe').contents().find('html').width();
this.height = $('.fancybox-iframe').contents().find('html').height();
$.fancybox.update();
}
},
'afterClose': function() {
$('#fancybox-inner').empty();
}
});
});
})(jQuery);
</script>
&#13;
答案 0 :(得分:0)
我自己设法解决了这个问题的解决方案。对于IE7,必须为iframe中的源重新加载内容。
插入后:
titlePossition:'outside',
此代码:
beforeShow: function() {
if($('.fancybox-iframe').length > 0) {
if (navigator.appVersion.indexOf('MSIE 7.')!=-1) {
$('.fancybox-iframe').attr('src', $('.fancybox-iframe').attr('src'));
}
}
},
希望这能帮助其他人解决同样的问题。
工作日快乐!