Fancybox 2,iframe与表单,在IE7中不起作用

时间:2015-04-30 03:31:12

标签: jquery forms iframe fancybox internet-explorer-7

我已经使用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;
&#13;
&#13;

1 个答案:

答案 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'));
}
}
},

希望这能帮助其他人解决同样的问题。

工作日快乐!