Opera и IE7, похоже, не присваивают значение переменной - PullRequest
0 голосов
/ 22 января 2012

Вчера я задал вопрос о запуске скрипта, когда видео на YouTube воспроизводится , а после много борьбы Я понял это .

Теперь решение работает в Firefox, Chrome, Safari, IE9 и IE8, но по некоторым причинам оно не работает в Opera и IE7. У меня очень мало опыта работы с Javascript, поэтому любая помощь будет очень признательна.

Я связываю JS вот так

<script type='text/javascript' src='http://www.example.ca/wp-includes/js/jquery/jquery.js?ver=1.7.1'></script>
<script type='text/javascript' src='http://www.example.ca/wp-content/plugins/slidedeck-lite-for-wordpress/lib/youtubeapi.js?ver=2011-04-28'></script>
<script type='text/javascript' src='http://www.example.ca/wp-content/plugins/slidedeck-lite-for-wordpress/lib/slidedeck.jquery.lite.js?ver=1.4.5'></script>

А внутри youtubeapi.js Я запускаю этот

window.YTplayerState;
    function onPlayerStateChange(evt) {
           YTplayerState = evt.data;
    }

window.YTplayerState; - попытка помочь решить проблему Opera / IE7. Затем в уже существующем файле для плагина SlideDeck я запускаю этот

var YTplayerState;
var autoPlay = function() {
    gotoNext = function() {
        if (self.pauseAutoPlay === false) {
            if (self.options.cycle === false && self.current == self.slides.length || YTplayerState == 1) {
                self.pauseAutoPlay = true;
            } else {
                self.next();
            }
            if (YTplayerState == 1) {
                self.pauseAutoPlay = true;
            }
        }
    };

    setInterval(gotoNext, self.options.autoPlayInterval);
};

С каким большинством браузеров все в порядке, хотя это может быть просто удачей, но это работает. Я знаю, что проблема в Opera заключается в том, что YTplayerState никогда не получает значение, потому что, если я вручную изменяю значение на значение с помощью функции нажатия клавиши, то все это ведет себя как ожидалось.

Если это не что-то с напрямую предоставленным кодом, есть ли какие-то общие особенности с Opera, на которые мне следует обратить внимание?

1 Ответ

0 голосов
/ 22 января 2012

Насколько мне известно, это ошибка в видео проигрывателе Youtube. К сожалению.

Если вы воспользуетесь Google для «onPlayerStateChange opera», вы найдете больше похожих сообщений об ошибках.

...