Iframe未加载

3

这只在Safari浏览器中发生。

网站链接:www.dalworthrestoration.com

  • 请注意特色内容jQuery轮播图。

  • 内容自动向前循环,当到达第三个缩略图时,即欢迎来到Dalworth视频,它会正确显示。

但问题在于:

  • 如果您允许它向前循环到第四个缩略图,然后点击返回到第三个缩略图,即欢迎来到Dalworth视频,则iframe位置不正确,它只显示图像的三分之一。

  • 但是,如果您滚动页面,视频突然就能正确地显示出来。

我完全被难住了。

2个回答

1

编辑:全新的答案。

这个技巧对我很有用,使用Safari的调试器。在隐藏父级li之前将iframe的大小调整为0x0。然后在隐藏li之后立即重新调整大小。这是从您的setSlider()函数中得出的结论:

list.find("iframe").attr({ height: 0, width: 0 });
list.filter(':visible').hide().end().eq(index).fadeIn();
list.find("iframe").attr({ height: 340, width: 560 });

编辑:我已经在v5.0.5中使它工作了。如果你看到了我的原始答案,它基本上就是那个。用这个新的点击处理程序替换你的处理程序,在转换之后向上滚动1像素并返回:

btn.click(function(){
    index=jQuery(this).index();
    list.filter(':visible').hide().end().eq(index).fadeIn();
    scrollTo(document.body.scrollLeft, document.body.scrollTop+1);
    scrollTo(document.body.scrollLeft, document.body.scrollTop-1);
    btn.removeClass('fc_current');
    btn.eq(index).addClass('fc_current');
    clearTimeout(timer);timer=undefined;setSlider();
});

在转换时你会看到一个快速的闪光,但并不是很明显。


这对我没用,吉利。当我点击回到#3时,它仍然只显示了图像的一部分,即使我允许它自动循环到#4。此外,当它消失和调整大小时,会有一个相当刺耳的折叠和扩展。感谢您的建议,但仍然不行。 - brianrhea
我使用Safari 5.0.5,如果这有帮助的话。 - brianrhea
@samseaborn - 在你解决了5.0.5的问题后,一定要在5.1中测试你的解决方案。 - gilly3
@samseaborn - 我已经在v5.0.5中使其工作。我更新了我的答案。 - gilly3
是的!谢谢gilly3,这就对了!我感激你的帮助!恭喜获得我有史以来的第一个赏金! - brianrhea

1

这是Safari浏览器的渲染问题。除了一种变通的方法,在选项卡切换时让页面向下滚动,然后立即回到原来的位置,你无法特别修复它。

但是,如果启用了HTML 5视频,它就可以正常工作:http://www.youtube.com/html5


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接