2017-10-06 1 views
0

J'ai rencontré un problème de confusion. Tout a travaillé très bien et tout à coup j'ai commencé à obtenir cette erreur:YouTube Iframe API Uncaught TypeError

Uncaught TypeError: playervid.isMuted is not a function

Si quelqu'un peut aider, il serait grandement apprécié.

ici est le code

// 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'); 
} 
} 

Lorsque l'utilisateur clique sur le bouton #mute-toggle je reçois l'erreur.

+0

Pourriez-vous essayer de reproduire le problème dans un extrait ou peut-être en utilisant ** https: //jsfiddle.net/** Vous n'avez pas besoin d'inclure tout le code source, seulement les parties pertinentes pour donner un exemple de travail le problème que vous traitez actuellement. Je vous remercie. – NewToJS

+0

Que dirais-je de donner l'url au site de développement – Jason

+0

Je préférerais avoir un exemple de travail car je n'aime pas vraiment ouvrir des domaines inconnus mais je pense à cette occasion puisque cela permettra de gagner du temps, bien sûr ... :) Je vais vérifier et voir si je peux trouver le problème et la solution. – NewToJS

Répondre

0

L'a corrigé. Tourne le thème que j'utilise "Divi" a couru une mise à jour qui fonctionne maintenant un peu de javascript lorsque vous sélectionnez un arrière-plan transparent pour la barre de menu et que cela a été l'API. J'ai enveloppé l'appel à l'API dans une fonction setTimeout et il a recommencé à fonctionner.