У меня есть встроенный видеофрейм на YouTube, который появляется через несколько секунд нахождения на сайте. Я пробовал несколько вещей с параметрами iframe, jQuery и CSS, но видео всегда показывает низкокачественную, размытую миниатюру, когда появляется модал. Если щелкнуть правой кнопкой мыши и перезагрузить iframe, то он загрузит соответствующий эскиз предварительного просмотра высокого качества.
Реальное видео в порядке и имеет разрешение HD 1080, поэтому видео не имеет плохого качества.
- Я попытался добавить
target=_self
в тег iframe
- Я пытался
$( '#iframe' ).attr('src', $( '#iframe' ).attr('src'));
- Я пытался
$( '#iframe' ).attr( 'src', function ( i, val ) { return val; });
- Я пытался изменить параметры
width
и height
в iframe, чтобы они были больше 560 и 315, и даже полностью удалил оба, но это ничего не изменило.
- Я попытался оставить пустой iframe src по умолчанию и заполнил его с помощью jQuery, но это не сработало:
$( '#iframe' ).attr('src', 'https://www.youtube.com/embed/TL90qfsFplc');
<div class="subscribe-modal-mask">
<div class="subscribe-modal-container">
<div class="video-container">
<iframe id="iframe" width="900" height="315" target="_self" src="https://www.youtube.com/embed/TL90qfsFplc" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="modal-head">
<p id="modal-h1">Watch Now - Change Your Image of Dumpsters</p>
<div class="subscribe-modal-close">X</div>
<p class="modal-text">Sign up to learn how making the switch can save you time, money, and more
money</p>
{!! do_shortcode('[gravityform id="4" title="false" description="false"]') !!}
</div>
</div>
</div>
<script>
(function ($) {
$(document).ready(function () {
function createCookie(name, value, days) {
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 12000));
var expires = "; expires=" + date.toGMTString();
} else var expires = "";
document.cookie = name + "=" + value + ';' + expires + "; path=/; secure: true;";
}
$( '#iframe' ).attr('src', $( '#iframe' ).attr('src'));
$('.subscribe-modal-close').on('click', function () {
createCookie('hedstromenvguest', '1', '.333333333');
$('.subscribe-modal-mask').fadeOut(1000);
});
$('.subscribe-modal-mask').mousedown(function(e) {
var clicked = $(e.target); //get the element clicked
if (clicked.is('.subscribe-modal-container') || clicked.parents().is('.subscribe-modal-container')) {
return; // click happened within the dialog, do nothing here
} else { //click was outside the dialog, so close it
$('.subscribe-modal-mask').fadeOut(1000);
}
});
$('.subscribe-modal-mask').on('click', function () {
createCookie('hedstromenvguest', '1', '.333333333');
});
$('.subscribe-modal-container .gform_button').on('click', function () {
createCookie('hedstromenvguest', '1', '.333333333');
});
});
})(jQuery);
</script>
.video-container {
position: relative;
overflow: hidden;
width: 100%;
padding-top: 36.25% !important;
iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
max-width: 100%;
height: 100%;
border: 0;
}
}
Почему-то мне нужно получить видео в модальном режиме, чтобы сначала загрузить предварительный просмотр HQ, а не низкое качество, размытое изображение. В противном случае это выглядит ужасно для пользователей.