gpt4 book ai didi

javascript - 在 chrome 中单击时,youtube 视频不会自动播放

转载 作者:数据小太阳 更新时间:2023-10-29 04:34:20 24 4
gpt4 key购买 nike

我得到了这段代码,可以在点击图片时以动态方式嵌入 youtube 视频,它工作正常但点击时不会自动播放。

它在 mozilla 中工作正常,但在 chrome 中不工作。

我在网页中放置图像(视频缩略图)而不是视频 iframe 以减少页面负载,当单击这些缩略图时我正在通过 jquery 动态加载 iframe 一切正常但加载的视频不是自动播放但给另一个播放 YouTube 视频的按钮。

我希望它在 chrome 中点击时自动播放。请帮忙

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<!DOCTYPE html>

<html>
<head>
<title>YouToubes replace example</title>
<script src="jquery-1.11.2.min.js"></script>
<style>
p {margin-bottom:2em;}
iframe,.ytLoader {display:block;margin:0 auto;width:50vw;height:37.5vw;border:0.5vw solid #ccc;}
.ytLoader {position:relative;cursor:pointer;overflow:hidden;}
.ytLoader>.cover {width:100%;height:auto;}
.ytLoader>.playBtn {position:absolute;top:50%;left:50%;width:20%;height:auto;transform:translate(-50%,-50%);opacity:0.5;}
</style>
<script>
function youTubes_makeDynamic() {
var $ytIframes = $('iframe[src*="youtube.com"]');
$ytIframes.each(function (i,e) {
var $ytFrame = $(e);
var ytKey; var tmp = $ytFrame.attr('src').split(/\//); tmp = tmp[tmp.length - 1]; tmp = tmp.split('?'); ytKey = tmp[0];
var $ytLoader = $('<div class="ytLoader">');
$ytLoader.append($('<img class="cover" src="https://i.ytimg.com/vi/'+ytKey+'/hqdefault.jpg">'));
$ytLoader.append($('<img class="playBtn" src="play_button.png">'));
$ytLoader.data('$ytFrame',$ytFrame);
$ytFrame.replaceWith($ytLoader);
$ytLoader.click(function () {
var $ytFrame = $ytLoader.data('$ytFrame');
$ytFrame.attr('src',$ytFrame.attr('src')+'?autoplay=1');
$ytLoader.replaceWith($ytFrame);
});
});
};
$(document).ready(function () {youTubes_makeDynamic()});
</script>
</head>

<body>

<p><iframe width="560" height="315" src="https://www.youtube.com/embed/YgmIibSnZs0" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></p>
<p><iframe width="560" height="315" src="https://www.youtube.com/embed/YgmIibSnZs0" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></p>
<p><iframe width="560" height="315" src="https://www.youtube.com/embed/YgmIibSnZs0" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></p>


</body>

</html>

最佳答案

从版本 62 开始,这是 Chrome 中的一项功能 - 用于避免烦人的广告在您打开页面时向您发出刺耳的声音 (https://developers.google.com/web/updates/2017/09/autoplay-policy-changes)。

它将不会自动播放,除非用户为站点激活它; Chrome 现已内置此功能。
您可以在设置中为您自己的安装更改它。

关于javascript - 在 chrome 中单击时,youtube 视频不会自动播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55395226/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com