【问题标题】:Opera and IE7 don't seem to be assigning value to variableOpera 和 IE7 似乎没有为变量赋值
【发布时间】:2012-01-21 20:23:01
【问题描述】:

昨天我问了一个关于running a script once a YouTube video is playing 的问题,在与I figured this out 摔跤很多之后。

现在该解决方案适用于 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 永远不会获取该值,因为如果我使用按键功能手动将值更改为 1,那么它的行为都会按预期进行。

如果不是直接提供的代码,我应该注意 Opera 的任何常见怪癖吗?

【问题讨论】:

    标签: javascript jquery global-variables youtube-api


    【解决方案1】:

    据我所知,这是 Youtube 视频播放器中的一个错误。对不起。

    如果您在 Google 上搜索“onPlayerStateChange 歌剧”,您会发现更多类似的错误报告。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-24
      • 2012-02-04
      • 2017-09-23
      • 2011-02-01
      • 2014-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多