Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.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 为什么用于视频的.pause()不再在chrome中工作?_Javascript_Jquery_Google Chrome_Video - Fatal编程技术网

Javascript 为什么用于视频的.pause()不再在chrome中工作?

Javascript 为什么用于视频的.pause()不再在chrome中工作?,javascript,jquery,google-chrome,video,Javascript,Jquery,Google Chrome,Video,我使用pause()停止视频。由于某些原因,这在chrome中不再起作用-视频短暂停止,然后继续播放,我完全迷失了我的错误所在 几个月前,我开发了一个使用pause()控制视频播放的脚本。一切都很好(Firefox仍然如此),但由于某种原因,它在过去两个月的某个地方停止了在chrome上的工作。我已经把它完全精简为几行代码,但我的pause()函数在Ubuntu18.04的Chrome和Windows7的最新Chrome中仍然无法使用 $(文档).ready(函数(){ var vid=doc

我使用pause()停止视频。由于某些原因,这在chrome中不再起作用-视频短暂停止,然后继续播放,我完全迷失了我的错误所在

几个月前,我开发了一个使用pause()控制视频播放的脚本。一切都很好(Firefox仍然如此),但由于某种原因,它在过去两个月的某个地方停止了在chrome上的工作。我已经把它完全精简为几行代码,但我的pause()函数在Ubuntu18.04的Chrome和Windows7的最新Chrome中仍然无法使用


$(文档).ready(函数(){
var vid=document.getElementById(“视频播放器”);
$(“#视频播放器”)。单击(功能(e){
参阅暂停();
});
});
您的浏览器不支持视频标记。

(我知道它是DOM和jquery的一种有点丑陋的混合体,因为我在脚本的其余部分大部分都使用jquery,但这应该不是问题,不是吗?)

我无法告诉您更改了什么,但添加
e.preventDefault
修复了它:

$( "#videoplayer" ).click(function(e) {
    e.preventDefault(); // <=====================
    vid.pause();
});

这意味着chromium native player可能已经处理了点击切换播放/暂停。事件按预期发送。@bigless-是的,这也是我的理论,我刚刚验证了。更新为建议一个选项的操作。啊,我没有想到这一点。可能铬只是改变了点击的处理顺序。也许在它第一次应用默认的动作切换之前,暂停视频,然后执行video.pause(),现在则相反。这将解释这种行为。谢谢你的帮助!
$( "#videoplayer" ).click(function(e) {
    if (!vid.paused) {               // Check that video is playing when clicked
        setTimeout(() => {           // V. brief timer to allow default action to occur
            if (!vid.paused) {       // Is it still playing?
                vid.pause();         // Pause it
            }
        }, 0);
    }
});