我有一个 jw 播放器,点击链接会更改视频。我还有其他类型的播放器,所以我需要隐藏 jw 播放器并切换到 youtube 播放器。问题是在视频播放器可见后,jw 播放器会在第二次点击时加载视频。让播放器在第一次点击时加载视频的任何解决方案。
<div id="jw_container">
<script type="text/javascript" src="https://content.jwplatform.com/players/hsdfQtN-ieOuTCiv.js"></script>
</div>
<li><a href="javascript:playTrailer('Bmodfg5AS')" id="vid_link3">video</a></li>
function playTrailer(key) {
$('#jw_container').show(); // show video player
jwplayer().load("https://content.bitsontherun.com/jw6/" + key + ".xml");
jwplayer().play({
autostart: false
});
}
如您所见,首先单击使视频可见,然后加载特定视频。有一个解决方案,而不是使用 show();使用 .css('visibility','visible') 但这会导致一些 css 问题。
实际代码:
var loaded = false;
function playTrailer(key) {
$('#yt_container').hide(); // hide youtube
$('#jw_container').show("slow", function() {
jwplayer().load("https://content.bitsontherun.com/jw6/" + key + ".xml");
});
loaded = true;
}
jwplayer().onPlaylistItem(function() {
if(loaded) {
jwplayer().play({autostart:false});
}
})
最佳答案
我觉得你需要的是设置
编辑
$('#jw_container').show(0,'', function() {
// Animation complete.
jwplayer().load("https://content.bitsontherun.com/jw6/" + key + ".xml");
jwplayer().play(true);
});
假设可能是播放列表未加载,因此 play 方法没有执行。所以这也可能有效:
function playTrailer(key) {
$('#jw_container').show(); // show video player
jwplayer().load("https://content.bitsontherun.com/jw6/" + key + ".xml");
jwplayer().onPlaylist( function(event){
jwplayer().play(true);
});
}
关于javascript - jQuery 第一次点击 show() 第二次加载视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21761625/