我遇到了一个令人困惑的问题。一切都工作得很好,突然间我开始收到这个错误:
Uncaught TypeError: playervid.isMuted is not a function
如果有人能提供帮助,我们将不胜感激。
这是代码
// 2. This code loads the IFrame Player API code asynchronously.
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
jQuery.noConflict()(function($) {
// 3. This function creates an <iframe> (and YouTube player)
// after the API code downloads.
var playervid;
function onYouTubeIframeAPIReady() {
playervid = new YT.Player('playervid', {
height: "720",
width: "1280",
videoId: 'JNsFY9Hr-OU',
playerVars: { 'autoplay': 1, 'showinfo': 0, 'controls': 0, 'autohide': 1, 'rel': 0, 'wmode': 'transparent'},
events: {
'onReady': initialize,
'onStateChange': onPlayerStateChange
}
});
}
function initialize(event){
event.target.mute();
}
$('body').on('click', '#mute-toggle', function(event) {
var mute_toggle = $(this);
if(playervid.isMuted()){
playervid.unMute();
mute_toggle.html('<i class="fa fa-volume-up fa-2x" aria-hidden="true"></i>');
$('.video-container iframe').removeClass('blur');
}
else{
playervid.mute();
mute_toggle.html('<i class="fa fa-volume-up fa-2x muted" aria-hidden="true"></i>');
$('.video-container iframe').addClass('blur');
}
}
当用户点击#mute-toggle
按钮时,我收到错误。
答案 0 :(得分:0)
修正了它。原来我正在使用的主题“Divi”运行了一个更新,现在运行一些javascript,当你选择菜单栏的透明背景,这是影响API。我在setTimeout函数中将调用包装到API中,然后它再次开始工作。