我们有一个网站,客户正在使用该网站作为其pdf和视频的存储库。客户端希望视频以模态弹出打开。我们正在使用花哨的盒子来做到这一点。我们在使用 IE 7 和 IE 8 时遇到了问题。当用户单击第一个视频时,它会毫无问题地加载。当他们关闭模式并单击新视频时,它会弹出第一个视频仍在显示。这是我们的代码!任何帮助将不胜感激。
/* Video Fancybox */
$(".video").fancybox({
'transitionIn' : 'fade',
'transitionOut' : 'fade',
'width' : 535,
'height' : 400,
/*'showCloseButton' : false,*/
'scrolling' : 'no',
'titleShow' : false,
'type' : 'inline',
'padding' : 10,
'onComplete' : initVideo,
'onClosed' : killVideo
});
//Global Video variables
var videoPlayerInitialized = false;
var myPlayer;
function initVideo(selectedArray, selectedIndex, selectedOptions)
{
var item = selectedArray[selectedIndex];
var videoTitle = $(item).attr('data-video');
if (videoPlayerInitialized != true){
myPlayer = _V_("my_video");
videoPlayerInitialized = true;
myPlayer.ready(function(){
playVideo(videoTitle);
});
} else {
playVideo(videoTitle);
}
}
function playVideo(videoTitle)
{
myPlayer.src([
{ type: "video/mp4", src: videoTitle + ".mp4" },
{ type: "video/webm", src: videoTitle + ".webm" }
]);
myPlayer.load();
myPlayer.play();
}
function killVideo()
{
//var myPlayer = _V_("my_video");
myPlayer.pause();
//myPlayer.src('');
}
您的 killVideo 函数只会暂停视频。它实际上并没有删除任何内容。你还需要摧毁旧玩家,以防止玩家相互叠加。或者,您也可以使用一个播放器,但交换 src 以删除最后一个播放器并在其位置加载一个新播放器。