如何使用javascript点击新标签时暂停视频?

时间:2017-01-09 10:23:58

标签: javascript html html5 html5-video visibilitychange

我正在制作视频HTML标签我希望在新标签打开时暂停音频。请帮助解决这个问题。

<video autoplay onplay="clickplayer()" id="player" onended="endplayer()" fullscreen="true" controls onvolumechange="myFunction()"  ontimeupdate="document.getElementById('tracktime').innerHTML = Math.floor(this.currentTime) + ' / ' + Math.floor(this.duration);">dik</video>

2 个答案:

答案 0 :(得分:4)

您需要先检测窗口去焦点事件才能执行此操作。这是一个例子:

<强> HTML:

 <video id="video" width="400" controls>
   <source src="http://www.w3schools.com/html/mov_bbb.mp4" type="video/mp4">
 </video>

<强> JS:

document.addEventListener("visibilitychange", onchange);
function onchange (evt) {
   document.getElementById("video").pause();
}

您可以找到完整示例Here

  

请注意,同样的方法也适用于音频标签。

答案 1 :(得分:2)

  

当标签的内容变得可见或已被隐藏时,会触发visibilitychange事件。

您应检测visibilitychange事件的标签可见性,并在隐藏标签时暂停视频。

&#13;
&#13;
var focused = true;
document.addEventListener("visibilitychange", function () {
  focused = !focused;
  if (!focused)
    document.getElementById("video").pause();
});
&#13;
<video id="video" width="400" controls>
   <source src="http://www.w3schools.com/html/mov_bbb.mp4" type="video/mp4">
</video>
&#13;
&#13;
&#13;