【问题标题】:FlexSlider video iframe problems in SafariSafari 中的 FlexSlider 视频 iframe 问题
【发布时间】:2023-03-21 01:45:02
【问题描述】:

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

滑块+视频在大多数浏览器 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 中中断。但是,如果我不初始化幻灯片,视频可以正常工作。视频不在幻灯片放映中,它是完全独立的。但是当我重新打开幻灯片时,视频会中断。

【问题讨论】:

    标签: jquery iframe embedding vimeo


    【解决方案1】:

    以防万一其他人遇到此问题,似乎已将视频功能添加到 flexslider。我遇到了与此处描述的相同的问题,但是在初始化 flexslider 后将视频标志设置为 true 后,视频开始工作。

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

    附带说明,在触摸设备上使用时,视频标志会降低滑块的响应速度。它仍然有效,但在尝试滑动到下一个图像/视频时会出现延迟。

    【讨论】:

      【解决方案2】:

      遇到了同样的问题。该问题是由于 safari 中的 transform3d 错误造成的。 请参阅下面的链接以获取完整的问题和修复。

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

      总结修复:

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

      虽然它是一个非常古老的帖子。希望它对将来的人有所帮助:)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-08-03
        • 2011-05-28
        • 2021-11-14
        • 1970-01-01
        • 2015-08-02
        • 2013-02-12
        • 2011-10-30
        • 1970-01-01
        相关资源
        最近更新 更多