【问题标题】:Clicking a video element when the page is loaded on a mobile device在移动设备上加载页面时单击视频元素
【发布时间】:2014-02-26 19:11:57
【问题描述】:

我正在尝试使用我认为可以工作的代码,但我似乎无法让它工作

(function($){
var video = $('video'),
    v = video[0]
    control = $('.control');
// $(window).load(function(){
//  $('.control').click();
//  $('.control').trigger('touchstart');
// });
// when can play, play
video.bind('canplay', function(){
    v.play();
});
$(window).blur(function(e) {
    // Left the tab
    v.pause();
});
$(window).focus(function(e) {
    // Back to the tab
    v.play();
});
$('.control').on('click touchstart', function(){
    v.play();
});
})(jQuery);

我也尝试了 window.load,因为您可以看到那里的评论部分,我什至尝试发送这两个事件,以防移动操作系统忽略点击并监听触摸事件。

我正在尝试让视频自动播放,我知道有很多问题,但我已经尝试了很多代码 sn-ps 没有运气,并且通过我发现的其他一些谷歌搜索这一点,但没有任何作用。真的没有办法解决吗?

【问题讨论】:

  • 你试过$(document).ready(function() {...}); 吗?
  • 包装它没有帮助,仍然不起作用,奇怪的是我在视频上方的不可见 div 上的点击事件以编程方式播放视频,没问题,它只是我可以获得 on load 或 canplay 事件来触发该播放方法。

标签: javascript jquery html mobile video


【解决方案1】:

你可以试试$(document).ready:

(function($){

$(document).ready(function() {  

    var v = $('video').get(0);

    v.play();

    ... 

});

})(jQuery);

另一种方法是使用属性<video autoplay="autoplay">...</video>

【讨论】:

  • 但不在手机或平板设备上
  • 是的,我之前也发现过这个问题,但问题是它显示了让用户单击某些东西的解决方法,我不想强​​迫用户单击某些东西。我希望它在用户点击页面时开始播放。到目前为止,我发现的一切都没有让我找到解决方案。
  • 这就是我现在正在做的,但它仍然无法在移动设备上运行
猜你喜欢
  • 2021-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-29
相关资源
最近更新 更多