В Chrome он работает хорошо, но в firefox и safari он появляется, когда анимация завершена. В файле скриптов я проверяю после каждой анимации, если текущий видимый элемент является проигрывателем YouTube, если так воспроизводится видео. И когда вы покидаете слайд, сделайте паузу.
Я получаю эту ошибку в консоли player.pauseVideo is not a function
У кого-нибудь есть решение?
Лучший ответ:
Вы откладываете определение onYouTubePlayerAPIReady . По этой причине, вероятно, что API YouTube заканчивается до onYouTubePlayerAPIReady будет определена onYouTubePlayerAPIReady . В этом случае ваш код не сработает.
Чтобы решить проблему, проверьте, готов ли API во время выполнения.
window.onYouTubePlayerAPIReady = function () < player = new YT.Player(‘player’, < height: ‘315’, width: ‘560’, videoId: ‘bpOR_HuHRNs’, >); >; if (window.YT) < // Apparently, the API was ready before this script was executed. // Manually invoke the function onYouTubePlayerAPIReady(); >
Заметка. Для простых однонаправленных функций, таких как player.playVideo() и player.pauseVideo() , я рекомендую использовать эту простую функцию, которая не так раздута, как документированный API YouTube. См. Этот ответ.
FIX: YouTube Not Working On Firefox | Updated 2023
Здесь обновленная часть вашей страницы, используя функцию callPlayer из моего другого ответа вместо API YouTube: http://jsfiddle.net/ryyCZ/
if ($(«.slides_control > div:visible #player»).length == 1) < callPlayer(«player»,»playVideo»); >else
Источник: techarks.ru