【发布时间】:2021-11-17 22:14:54
【问题描述】:
目前,该视频在代码中没有player.stopVideo();。
重现:单击 1 个 svg 播放按钮,然后单击 X,您会看到。
如何在代码中修复该问题,以便在单击 X 后相同的视频停止播放?
更新代码:
点击运行,不更新测试JSitor代码:
此外,自动播放在 JSitor 中工作:https://jsitor.com/qYKcpdB0tj
备份副本:https://jsfiddle.net/0q63tr2m/
const videoPlayer = (function makeVideoPlayer() {
const players = [];
const tag = document.createElement("script");
tag.src = "https://www.youtube.com/player_api";
const firstScriptTag = document.getElementsByTagName("script")[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
function onPlayerReady(event) {
const player = event.target;
player.setVolume(100);
}
function addPlayer(video, settings) {
const defaults = {
height: 360,
host: "https://www.youtube-nocookie.com",
videoId: video.dataset.id,
width: 640
};
defaults.events = {
"onReady": onPlayerReady
};
您可以在此处看到仍在播放的视频:
【问题讨论】:
-
添加这个 stopPlaying 函数并在 exitHandler 中调用它:
function stopPlaying() { var iframes = document.querySelectorAll('iframe'); Array.prototype.forEach.call(iframes, iframe => { iframe.contentWindow.postMessage(JSON.stringify({ event: 'command', func: 'stopVideo' }), '*'); }); }在这里查看:jsfiddle.net/nhovfpa6/1 -
再次点击相同的 svg 播放按钮后,视频无法自行播放。那是怎么固定的?见这里:jsitor.com/5wzu-E-W9w
-
我已经尝试了很多方法 mate ,但它似乎无法满足您的需要。这就是我所能做的:/我可以把我的评论作为答案,这样你就可以接受它作为答案吗?
标签: javascript youtube youtube-api