Я использую YouTube iframe api
.
Он отлично работает на локальном сервере, но на рабочем сервере в консоли появляется следующее сообщение об ошибке:
"Не удалось загрузитьресурс: сервер ответил со статусом 404 () видео YouTube. "
Кроме того, видео YouTube показывает сообщение Can not play video
.
Однако на локальном сервере всеошибки, которые я выложил, работает нормально, сообщение:
"Failed to execute 'postMessage' on 'DOMWindow': The target origin ('https://www.youtube.com') does not match the recipient window's origin ('null')",
всплывает.
Код показан ниже:
<script>
// Load the IFrame Player API code asynchronously.
var tag = document.createElement('script');
tag.src = "http://www.youtube.com/player_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
// Replace the 'player' element with an <iframe> and
// YouTube player after the API code downloads.
var player;
function onYouTubePlayerAPIReady() {
player = new YT.Player('player', {
height: '48%',
width: '100%',
playerVars: {
autoplay: 0
},
videoId: 'YAY1hzVvWQk'
});
}
</script>
<script>
function checkMedia() {
var media = $('iframe');
var tolerancePixel = 40;
var scrollTop = $(window).scrollTop() + tolerancePixel;
var scrollBottom = $(window).scrollTop() + $(window).height() - tolerancePixel;
media.each(function (index, el) {
var yTopMedia = $(this).offset().top;
var yBottomMedia = $(this).height() + yTopMedia;
if (scrollTop < yBottomMedia && scrollBottom > yTopMedia) {
player.playVideo();
} else {
player.pauseVideo();
}
});
}
$(document).on('scroll', checkMedia);
});
</script>
<div class="contents">
<div class="youtubeWrap" id="player"></div>
</div>
Что не так?