首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成HTML5视频内容,然后单击事件iOS播放视频

生成HTML5视频内容,然后单击事件iOS播放视频
EN

Stack Overflow用户
提问于 2014-10-29 20:36:02
回答 2查看 979关注 0票数 0

我有一个内容区域,当您按下前一个按钮或继续按钮时,会动态加载新内容。html的一个简单例子是:

代码语言:javascript
复制
<div id="contentArea"></div>
<nav>
   <ul>
      <li class="butPrev">Previous</li>
      <li class="butNext">Next</li>
   </ul>
</nav>

我过去在iOS6中所做的是在第一次加载时在内容区域上设置一个掩码,我可以单击这个掩码来触发音频和视频,然后所有其他动态HTML5视频都会播放。我不确定iOS7,但iOS8不允许这样做。我将不得不为每一页做,这违背了面具的目的,是一个用户的痛苦。

作为另一种选择,我试图通过单击next按钮来触发视频的播放。问题是,next按钮捕获动态内容,将其加载到内容区域,此时需要触发播放,这是iOS不喜欢的。是否有任何方法来等待内容区域加载,同时保持在click事件中,这样它就不会被阻塞?下面是我正在尝试的内容(我已经去掉了Ajax的内容):

代码语言:javascript
复制
var contentLoaded = false;

$('nav li').click(function(){
    contentLoaded = false;
    //load HTML with HTML5 video via Ajax
    //when done, sets contentLoaded = true
    triggerAutoplay();
});

function triggerAutoplay() {
    if (contentLoaded) {
       $('video[autoplay]').each(function(){
           if ($('this').attr('autoplay') != "false") {
               this.play();
           }
       });
    } else {
       setTimeout(triggerAutoplay,100);
    }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-30 13:58:03

play触发器必须在click函数中,因此我必须将异步设置为false,以便ajax在函数调用之前完成,如下所示:

代码语言:javascript
复制
$('nav li').click(function(){
   $.ajax({
      url: "whatever",
      async: false
   });
   triggerAutoplay(); 
});

function triggerAutoplay() {
   $('video[autoplay]').each(function(){
           if ($('this').attr('autoplay') != "false") {
               this.play();
           }
   });
}
票数 0
EN

Stack Overflow用户

发布于 2014-10-29 21:04:20

我不确定我是否正确地理解了你,但也许你应该在ajax调用成功的过程中这样说:

代码语言:javascript
复制
$('nav li').click(function(){
   $.ajax({
      url: "whatever"
   }).done(function() {
      //do some stuff
      triggerAutoplay();
   }); 
});

function triggerAutoplay() {
   $('video[autoplay]').each(function(){
           if ($('this').attr('autoplay') != "false") {
               this.play();
           }
   });
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26640176

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档