2010-04-28 183 views
3

有没有一种简单的前期方法让FF和IE对待隐藏的JW播放器一样?JW播放器:跨浏览器“显示:无”播放器行为

我在jQuery生成的选项卡中动态放置播放器的不同实例。实际上,切换选项卡隐藏每个玩家的父div。在FireFox中,标签开关和伴随的“显示”改变停止播放器。这在IE中不会发生。我希望它。

让这两种浏览器行为一致的最简单方法是什么?我期望CSS/HTML解决方案,无论是播放器的嵌入方式还是风格规则。否则,我会需要添加一个项目侦听器,将当前选定的选项卡ID与当前活动的球员进行比较......但是, d宁可不走那条路。

感谢您的提示!

编辑:所以,我宁愿能够更改播放器CSS或标签变化标记,而不是将停止事件发送给除当前活动选项卡中的播放器以外的所有播放器。

+1

我有一个想法,涉及'RemoveChild'和'AppendChild'但没有骰子:http://www.actionscript.org/forums/showthread.php3?t = 139866也许有帮助,那家伙在同样的情况。 – 2010-04-28 19:47:18

回答

3

这是Internet Explorer的问题。虽然FF,Chrome和Safari会杀死Flash,但IE不会。我们能够确保玩家停下来的唯一方法是跟踪页面上所有活跃的玩家并呼叫停止。

最佳,

扎克

开发,长尾视频

+0

发现这一点:“设置一个Flash对象隐藏并可见的唯一方法,同时保持对象运行结果是设置一个CSS类的可见性:隐藏”https://devio.wordpress.com/2012/05/11/chrome-firefox-reset-flash-plugin-if-display-property-changes-update/ – avivr 2015-09-16 08:31:37

0

如果您使用JavaScript来更改制表符,为什么希望为您的问题提供纯粹的CSS/HTML解决方案?

我觉得你必须使用JavaScript。

看一看的JW播放器API: http://developer.longtailvideo.com/trac/wiki/Player5Api

可以调用播放机上的stop()方法。

player.stop(); 
+0

是的,我已经几乎完全通过API来控制玩家。问题是有多个玩家,这使事情变得复杂。至少对FF来说,祖先div上的“display:none”会在播放器停止播放,并且使播放器听不到发送的事件。我希望IE有一个以相同方式影响玩家的风格规则。否则,我必须跟踪所有玩家,并为其中的所有玩家添加发送停止事件,除了“此”选项卡中显示的更多参与者之外。我很懒。 – 2010-04-29 01:31:33

0

对不起我的朋友。我有一个很大的麻烦,不会让我睡觉... 我有一个网站: - 与视频div(jwplayer) - 与画廊(灯箱,点击图像弹出窗口)

如果视频播放和用户(仅限于IE)点击图像,视频中出现弹出窗口,视频继续播放(ok!),但视频变为空白! 当我关闭图像弹出窗口时,视频时间轴正常播放,但视频仍为空白(全黑)。

我一直尝试使用你在这里写的东西,但没有成功。 这是我必须用来插入jwplayer的脚本。

<div id="Player">player should load here</div> 
    <script language="javascript" type="text/javascript"> 
    var flashvars = {}; 
    flashvars.linkfromdisplay = "true"; 
    flashvars.autostart = "false"; 
    flashvars.height = "' . $h . '"; 
    flashvars.controlbar = "over"; 
    flashvars.width = "' . $w . '"; 
    flashvars.repeat = "false"; 
    flashvars.bufferlength = "5"; 
    flashvars.displayheight = "' . $h . '"; 
    flashvars.displaywidth = "' . $w . '"; 
    flashvars.file = "http://blablabla.com"; 
    flashvars.type = "vdox"; 
    flashvars.provider = "vdox"; 
    var params = {}; 
    params.menu = "true"; 
    params.allowscriptaccess = "always"; 
    params.allowfullscreen = "true"; 
    params.wmode = "transparent"; 
    params.windowless="true"; 
    var attributes = {}; 
    attributes.id = "Player"; 
    attributes.name = "Player"; 
    swfobject.embedSWF("' . get_bloginfo("template_directory") . '/embed/mediaplayer.swf", "Player", "' . $w . '", "' . $h . '", "8","expressInstall.swf", flashvars, params, attributes); 
    </script> 

我想也可以通过JS视频停开酥料饼(player1.sendEvent(“STOP”);)前:视频停止,但如果我点击播放按钮,仍然是黑色的。

我也尝试通过jquery删除视频元素,并将其保存在一个变量中。然后,我插入一个按钮“恢复视频”:在Chrome的作品中,在IE重新出现的视频对象中,它播放但全黑。 谢谢

+1

你应该问一个新问题。 – 2011-02-18 16:43:46