2012-01-21 67 views
0

昨天我問了一個關於running a script once a YouTube video is playing的問題很多的摔跤I figured this outOpera和IE7似乎沒有給變量賦值

現在該解決方案在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;是試圖幫助解決歌劇院/ 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的常見怪癖,我應該注意的?

回答

0

據我所知,這是Youtube視頻播放器中的一個錯誤。抱歉。

如果你是谷歌的「onPlayerStateChange opera」,你會發現更多類似的錯誤報告。