Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在交叉口播放/暂停有声音的视频-Chrome-DOMException:Play()失败,因为用户没有';不要先与文档交互_Javascript_Video_Intersection Observer - Fatal编程技术网

Javascript 在交叉口播放/暂停有声音的视频-Chrome-DOMException:Play()失败,因为用户没有';不要先与文档交互

Javascript 在交叉口播放/暂停有声音的视频-Chrome-DOMException:Play()失败,因为用户没有';不要先与文档交互,javascript,video,intersection-observer,Javascript,Video,Intersection Observer,我想在用户视口与视频相交时播放视频,或者在视频离开视图时暂停视频。我设法在Firefox上做到了这一点,但Chrome似乎有一些问题 我得到的是控制台中的错误: 未捕获(承诺中)DomeException:play()失败,因为用户 没有首先与文档交互 我在谷歌上搜索了一下,发现有一个mute=“mute”可以自动播放视频。这很有效,但我也需要声音 我曾尝试通过编程方式取消视频静音,但不起作用。 此外,我还尝试触发事件和其他事情,希望它能起到作用,即创建假阳性用户交互,但没有运气 我在问自己,Y

我想在用户视口与视频相交时播放视频,或者在视频离开视图时暂停视频。我设法在Firefox上做到了这一点,但Chrome似乎有一些问题

我得到的是控制台中的错误:

未捕获(承诺中)DomeException:play()失败,因为用户 没有首先与文档交互

我在谷歌上搜索了一下,发现有一个mute=“mute”可以自动播放视频。这很有效,但我也需要声音

我曾尝试通过编程方式取消视频静音,但不起作用。 此外,我还尝试触发事件和其他事情,希望它能起到作用,即创建假阳性用户交互,但没有运气

我在问自己,YouTube如何实现声音自动播放(在任何用户交互之前)

代码如下:

var onIntersection = function(entries, observer){
    entries.forEach(function(entry){
        if( entry.isIntersecting && entry.intersectionRatio >= 0.5){
            entry.target.play();
        }else{
            entry.target.pause();
        }
    });
};

if( 'IntersectionObserver' in window ){

    var observerOptions = {
        threshold: [0, 0.5]
    };

    var observer = new IntersectionObserver(onIntersection, observerOptions);

    $('video').each(function(){
        observer.observe($(this)[0]);
    });
}
HTML:

<video inline playsinline autoplay loop style>
    <source src="..." type="video/mp4">
</video>

阻止chrome浏览器中出现任何垃圾邮件。只需在您的attr视频中添加此
$(正文)。触发器('click')
mute=“true”
,即可找到它