Javascript Gecko/Firefox 33.0在YouTube IFrame API ytPlayer.seekTo上崩溃(秒,允许seekahead)
我确实对youtube api有严重的问题。方法在Firefox33.0下崩溃(通过桌面和slimerjs使用)。它在firefox(完全安装)和xulrunner上都会崩溃。有什么想法吗?原因是什么?如何解决 错误:默认Windows错误提示:XULRunner停止工作程序因出现问题而关闭。一有解决方案可用,就会通知您 外壳错误(方括号中的数字在不同的执行过程中变化)以某种方式随机:Javascript Gecko/Firefox 33.0在YouTube IFrame API ytPlayer.seekTo上崩溃(秒,允许seekahead),javascript,firefox,youtube-api,youtube-iframe-api,slimerjs,Javascript,Firefox,Youtube Api,Youtube Iframe Api,Slimerjs,我确实对youtube api有严重的问题。方法在Firefox33.0下崩溃(通过桌面和slimerjs使用)。它在firefox(完全安装)和xulrunner上都会崩溃。有什么想法吗?原因是什么?如何解决 错误:默认Windows错误提示:XULRunner停止工作程序因出现问题而关闭。一有解决方案可用,就会通知您 外壳错误(方括号中的数字在不同的执行过程中变化)以某种方式随机: [6064] ###!!! ABORT: Aborting on channel error.: file
[6064] ###!!! ABORT: Aborting on channel error.: file c:/builds/moz2_slave/rel-m-rel-xr_w32_bld-000000000/build/ipc/glue/MessageChannel.cpp, line 1547
[12464] ###!!! ABORT: Aborting on channel error.: file c:/builds/moz2_slave/rel-m-rel-xr_w32_bld-000000000/build/ipc/glue/MessageChannel.cpp, line 1547
代码
<html>
<head>
<script src="https://www.youtube.com/iframe_api"></script>
</head>
<body style="margin:0; padding:0">
<script>
var ytPlayer;
var nextPlayerTime = 0
// on api ready
function onYouTubeIframeAPIReady() {
console.log("youtube iframe api ready");
ytPlayer = new YT.Player("youTubePlayer", {
events: {
onStateChange: function(e) {
if (e.data == YT.PlayerState.PLAYING) {
console.log("youtube playing go to next");
ytPlayer.pauseVideo();
nextPlayerTime +=10;
ytPlayer.seekTo( nextPlayerTime ,true );
ytPlayer.playVideo();
}
}
}
});
}
</script>
<iframe id="youTubePlayer" src="https://www.youtube.com/embed/hKWmFWRVLlU?version=3&vq=hd1080&enablejsapi=1&playerapiid=ytplayer&allowscriptaccess=always&wmode=opaque&autoplay=1" width="100%" height="100%" style="border: 0px;"></iframe>
</body>
</html>
球员;
var nextPlayerTime=0
//关于api就绪
函数onyoutubeiframeapiredy(){
log(“youtube iframe api就绪”);
ytPlayer=新的YT.Player(“youTubePlayer”{
活动:{
onStateChange:功能(e){
如果(e.data==YT.PlayerState.PLAYING){
log(“youtube播放转到下一个”);
ytPlayer.pauseVideo();
nextPlayerTime+=10;
ytPlayer.seekTo(nextPlayerTime,true);
ytPlayer.playVideo();
}
}
}
});
}
如果您描述一下“崩溃”的含义,可能会有所帮助;更具体地说,您希望这段代码做什么,以及它在做什么?当我阅读代码时,它看起来设计为每次触发播放事件时每1秒向前跳转一次……而且由于YouTube每次从搜索恢复时都会触发播放事件,因此这段代码应该可以在10秒内超快速地跳过整个视频d增量帧快照。这正是它在Firefox、Chrome、Safari和我尝试过的每一款浏览器上所做的。你还期待着什么吗?或者你看到了其他结果吗?@jilmcdonald,对我来说,它在windows上崩溃了