2012-03-02 117 views
0

我正在使用Flexslider,并且在iframe中有一个嵌入Vimeo视频的滑块,然后滑块的其余部分充满了与视频大小相同的图片。Safari中的FlexSlider视频iframe问题

在大多数浏览器EXCEPCT Safari中,滑块+视频效果很好。当Safari加载滑块时,视频似乎在奇怪的位置有点偏移。视频播放有点波动,控件无响应。这是非常令人沮丧的,因为滑块在所有其他浏览器中运行良好,FlexSlider的文档说它支持所有HTML元素。

有什么我可以做的,让这个视频在Safari中正确播放?

这里是我的代码

<div class="flexslider"> 
    <ul class="slides"> 
    <li> 
    <div id="iframeContainer"> 
     <iframe src="http://player.vimeo.com/video/35534572?title=0&amp;api=1&amp;byline=0&amp;portrait=0&amp;color=ffffff" width="960" height="540" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe> 
    </div> 
    </li> 
    <li> 
     <img src="MOTOROLA_BTS_01.jpg" /> 
    </li> 
    <li> 
     <img src="MOTOROLA_BTS_02.jpg" />  
    </li> 
    </ul> 
</div> 

以及相应的CSS:

.flex-container a:active, 
.flexslider a:active {outline: none;} 
.slides, 
.flex-control-nav, 
.flex-direction-nav {margin: 0; padding: 0; list-style: none;} 

/* FlexSlider Necessary Styles 
*********************************/ 
.flexslider {width: 960px; margin: 0; padding: 0;} 
.flexslider .slides > li {display: none;-webkit-backface-visibility: hidden;} /* Hide the slides before the JS is loaded. Avoids image jumping */ 
.flexslider .slides img {max-width: 100%; display: block;} 
.flex-pauseplay span {text-transform: capitalize;} 

/* Clearfix for the .slides element */ 
.slides:after {content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0;} 
html[xmlns] .slides {display: block;} 
* html .slides {height: 1%;} 

/* No JavaScript Fallback */ 
/* If you are not using another script, such as Modernizr, make sure you 
* include js that eliminates this class on page load */ 
.no-js .slides > li:first-child {display: block;} 

.flex-direction-nav li a {width: 60px; height: 60px; margin: -13px 0 0; display: block; position: absolute; top: 50%; cursor: pointer; text-indent: -9999px;} 
.flex-direction-nav li .next {background-image:url(Arrow_02_B.png);margin-top:-300px;margin-left:900px;} 
.flex-direction-nav li .prev {background-image:url(Arrow_02_A.png);margin-top:-300px;} 
.flex-direction-nav li .disabled {opacity: .3; filter:alpha(opacity=30); cursor: default;} 


#iframeContainer{ 
    width:960px; 
    height:540px; 
} 

编辑:我把页面上的滑块以外的嵌入式视频,它甚至没有显示出来在Safari中。我在哪里可以看到一些视频。同样,它在所有其他浏览器中正常显示。

编辑:更多疑难解答。我将滑块和视频并排放置。该视频仍然在Safari中断。但是,如果我不初始化幻灯片,视频工作正常。该视频不在幻灯片中,完全独立。但是当我重新打开幻灯片时,视频就会中断。

回答

0

为了防止其他人遇到此问题,它看起来像一个视频功能已添加到flexslider。我遇到了与此处所述相同的问题,但在初始化flexslider后将视频标志变为true后,视频开始工作。

$('.flexslider').flexslider({ 
    animation: "slide",  
    video: true 
}); 

在旁注中,视频标志使得滑块在触摸设备上使用时的响应性较差。它仍然有效,但尝试滑动到下一个图像/视频时会有延迟。

0

碰到同样的问题。这个问题是由于safari中的transform3d错误造成的。 请参阅下面的链接以获取完整的问题并解决。

https://github.com/woothemes/FlexSlider/issues/88

总结修复:

下载最新版本V1.8,并使用属性useCSS: false.它将删除>使用translate3d这在WebKit浏览器导致这些视频错误的。

虽然它的一个很老的帖子。希望它可以帮助未来的人:)