2017-10-06 6 views
0

私は混乱する問題に遭遇しました。すべてがうまく働いていると突然のすべては、私はこのエラーを取得開始しました:誰もがそれをいただければ幸い助けることができるYouTube iframe APIキャッチされていないタイプのエラー

Uncaught TypeError: playervid.isMuted is not a function

場合。ユーザーが、私はエラーを取得する#mute-toggleボタンをクリックすると、ここで

はコード

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

です。

+0

スニペットで問題を再現するか、多分** https://jsfiddle.net/**を使用してみてください。ソースコードのすべてを含める必要はありません。あなたが現在扱っている問題。ありがとうございました。 – NewToJS

+0

devサイトにURLを与えるのはどうでしょう。 – Jason

+0

未知のドメインを開くのは本当に好きではないので、私はかなり実用的な例を持っていますが、時間を節約できるので、この機会にはと思います。それをチェックし、私が問題と解決策を見つけることができるかどうかを見てください。 – NewToJS

答えて

0

修正済みです。あなたがメニューバーの透明な背景を選択し、これがAPIに影響を与えていたときに、いくつかのjavascriptを実行するアップデートを "Divi"が使っていました。私はsetTimeout関数でAPIへの呼び出しをラップし、再び作業を開始しました。

関連する問題