2017-01-09 150 views
1

我正在处理视频HTML标记我想在新标签打开时暂停音频。请帮助解决这个问题。如何在使用javascript点击新标签时暂停视频?

<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> 
+0

你要暂停音频和视频不断播放或暂停两者? – Mohammad

+0

请将答案标记为“已接受”以完成此讨论。 – Mohammad

回答

2

您需要先检测窗口散焦事件才能这样做。这里有一个例子:

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

需要注意的是,同样的方法适用于音频标签。

0

当一个选项卡的内容变得可见或已隐藏的visibilitychange事件。

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

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