Fancybox和JW Player - 在IE和FF中停止视频

时间:2012-10-29 19:37:02

标签: javascript jquery fancybox jwplayer

我在Jancybox框架中嵌入了JW Player。我希望发生的是视频停止播放/加载如果帧关闭。代码以及我尝试的其他所有内容都可以在Chrome中使用,但从不在IE和FF中使用。

我目前的情况:

$('.lightbox').fancybox({
    //href: jThis.attr('href'),
    type: 'inline',
    padding: 15,
    width: 960,
    height: 540,
    autoSize: false,
    scrolling: 'no',
    enableEscapeButton: true,
    afterClose: function() {$("#large-video").empty();} //This is what I've tried changing
});

这个底线,我也尝试过“jwplayer()。stop()”和“function(){jwplayer()。stop()} ;.两者在Chrome中工作得很好,但视频继续在IE9和FF中玩。而不是在这里丢失。以前有人这么做过吗?

2 个答案:

答案 0 :(得分:0)

我有类似的问题。修复是停止JWPlayer,然后是empty()remove()包含它的DOM元素。如:

jwplayer().stop();
$("#container").empty().remove();

其中#container是包含播放器的div。如果您想再次播放视频,则必须在DOM中重新实例化播放器。

答案 1 :(得分:0)

你需要在你的拆解代码中使用jwplayer方法.remove()。简单地删除灯箱元素是不够的。

取自JWPlayer api docs。

  

.remove()与setup()调用相反,此调用将从页面中删除JW Player。它确保玩家停止   播放时,DOM被重置为其原始状态和所有事件   听众和计时器都被清理干净了。任何听众都需要   如果设置了其他播放器,则会重新实施。

http://support.jwplayer.com/customer/portal/articles/1413089-javascript-api-reference#remove

这也将修复一个相关问题(这是我遇到的问题),位于灯箱中的玩家无法在第二次启动它时加载。

注意:此实例中的错误将是:

为“ready”调用事件处理程序时出错。错误:无法读取null的属性“clientWidth” jwpsrv.js:1未捕获的TypeError:无法读取null的属性'ownerDocument'。