2016-10-19 2 views
0

Я пытаюсь обнаружить ошибку «вспышка вне даты» в моем коде. Объект игрока существует, но вызывающие вызовы не вызываются.API YouTube iFrame: нет готового вызова, нет вызова ошибки

var player = new YT.Player('pp-yt-player-div-id', 
    { 
     height: '50', 
     width: '50', 
     playerVars: 
     { 
      controls: 0, 
      showinfo: 0, 
      rel: 0 
     }, 
     events: 
     { 
      onReady: function(event) 
      { 
       this.onReady(); 
      }.bind(this), 
      onStateChange: function(event) 
      { 
       this.onStateChange(event); 
      }.bind(this), 
      onError: function(event) 
      { 
       console.log('on error: '+event); 
       this.onError(event); 
      }.bind(this) 
     } 
    }); 

Есть ли способ обнаружить ошибку в этом сценарии?

+0

_ «Есть хороший способ обнаружить„вспыхнуть даты“ошибка в этом случае?» _ Нет, потому что вы код не связанные с какой-либо флэш-содержимого. Если вы HTML-код не встраивает **. SWF ** -файл, то вы не используете Flash ... Youtube использует видео-тег, JS, CSS и PHP ... –

+0

все видеоролики youtube говорят прямо на проигрывателе «вспышка устарела». независимо от того, что происходит на самом деле, API-интерфейс youtube iframe не позволяет мне его обнаружить. – jpro

+0

Можно ли выбрать текст? если да, возможно, просто выполните поиск в String для «Flash out of date» в iframe? Какой браузер использовался? Какая тестовая ссылка? Я живу в браузере Chrome, поэтому я никогда не вижу таких проблем. –

ответ

2

Я не понимаю, почему, но ошибка не вызывается, хотя есть определенная ошибка. Единственное решение, которое я могу определить, - это взломать тайм-аут, который явно противен.

var readyError = false; 
var waitTimer = setTimeout(function() 
{ 
    readyError = true; 
    throw new Error('YouTube player not initializing. Possible Flash out of date error.'); 
}, 10000); 

var ytPlayer = new YT.Player('youtube-player-id', { 
    events: { 
    onReady: function(e) { 
     clearTimeout(waitTimer); 
    }, 
    onStateChange: function(e) { 
     ... 
    }, 
    onError: function(e) { 
     ... 
    } 
    } }); 
Смежные вопросы