gpt4 book ai didi

javascript - 如何防止 iFrame 在按下后退按钮时自动播放?

转载 作者:行者123 更新时间:2023-11-28 05:49:24 26 4
gpt4 key购买 nike

我目前有一个网页,其中嵌入了 YouTube 视频和图像叠加层,充当“播放按钮”。我使用 JavaScript 播放嵌入视频,并在用户单击图像叠加层后隐藏图像。据我所知,唯一的方法是将“&autoplay=1”添加到 YouTube 视频的网址中。

此外,我在网页上有一个表单,用户可以提交该表单来向我们发送信息。如果表单提交正确,用户将进入“谢谢”页面。问题在于用户从感谢页面点击后退按钮时。由于我已将“&autoplay=1”添加到 iFrame,因此视频会继续播放。我尝试通过在处理表单的 if/else 语句的 else 部分中回显 JavaScript 来重置 iFrame src。另外,我对此并不完全确定,但我认为后退按钮会触发 .click() 方法,所以我不确定如果它将所有内容都视为按钮单击,我将如何防止这种情况。我已经坚持这个问题很长一段时间了,希望能得到一些可能的方向。我也开始相信我想要实现的目标可能并不完全可能。

相关代码:

<?PHP
if(isset($_POST['submit'])) {
if($error) {
// handle form error
}
else {
// mails the form
header("location:http://mywebsite.com/thank-you");
}
}
?>

<html>
<body>
<div id="video-thumbnail">
<img id="video-image" src="norman.png" class="video-image" alt=""/>
<iframe id="video-embed" class="video-embed" frameborder="0" allowfullscreen="" src="https://www.youtube.com/embed/dQw4w9WgXcQ?rel=0&color=white&controls=1&loop=1&showinfo=0" s8011508427261248624="true" replaced="true" ></iframe>
</div>

<script>
(function($){
$(document).ready( function(){
$(".video-image").click(function(){
$(".video-embed").css({"opacity":"1","display":"block"});
$(".video-embed")[0].src += "&autoplay=1";
$(this).unbind("click");
});
} );
})(jQuery)
</script>

</body>
</html>

最佳答案

您可以检测是否按下了后退按钮:如果是,请不要为您的视频设置自动播放。

var backButtonPressed = false;

$(function () {
if (window.history && window.history.pushState) {

window.history.pushState('forward', null, './#forward');

$(window).on('popstate', function () {
backButtonPressed = true;
});
}

$(".video-image").click(function () {
$(".video-embed").css({"opacity": "1", "display": "block"});

// test if back button pressed
if (backButtonPressed == false) {
$(".video-embed")[0].src += "&autoplay=1";
}
$(this).unbind("click");
});
});

关于javascript - 如何防止 iFrame 在按下后退按钮时自动播放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38204904/

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