0

我将 JW Player 嵌入到 Fancybox 框架中。如果框架关闭,我想要发生的是视频停止播放/加载。该代码以及我尝试过的所有其他内容都可以在 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。在这里相当不知所措。以前有人这样做过吗?

4

2 回答 2

0

我有一个类似的问题。解决方法是停止 JWPlayer,然后停止empty()包含remove()它的 DOM 元素。如:

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

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

于 2012-10-29T19:42:36.727 回答
0

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

取自 JWPlayer api 文档。

.remove()与 setup() 调用相反,此调用将从页面中删除 JW 播放器。它确保播放器停止播放,将 DOM 重新设置为其原始状态,并清除所有事件侦听器和计时器。如果设置了其他播放器,则需要重新实例化任何侦听器。

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

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

注意:这种情况下的错误将是:

回调“就绪”的事件处理程序时出错。错误:无法读取 null jwpsrv.js:1 的属性“clientWidth”未捕获类型错误:无法读取 null 的属性“ownerDocument”。

于 2015-09-28T09:52:30.143 回答