昨天我问了一个关于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应该注意哪些常见的怪癖?
答案 0 :(得分:0)
据我所知,这是Youtube视频播放器中的一个错误。遗憾。
如果你谷歌搜索“onPlayerStateChange opera”,你会发现更多类似的错误报告。