如何在重新加载的jQuery UI选项卡中停止SWF

我在jQuery UI选项卡中有一个SWF电影,而我遇到的问题是,每次我从标签点击另一个标签时,SWF都会重新加载,然后单击返回。 我可以检查DOM,看到当我点击时,包含SWF的div仍然在DOM中,所以我不知道为什么当我点击返回选项卡时它似乎重新加载它。

我添加了以下CSS规则以尝试阻止将显示设置为:none,但Flash影片仍在重新加载:

.ui-tabs .ui-tabs-hide { display: block !important; position: absolute; left: -10000px; } 

更新:事实certificate这与自2001年/ Firefox 0.9以来一直存在的以下Firefox错误有关。 但是,我仍然没有一个好的解决方法。

之前提到的解决方案适用于Chrome,但无论出于何种原因都无法在Firefox中使用(我很确定它在前一段时间内正在运行)。 我找到了另一个解决方案:

首先,您需要一个通用规则来“隐藏”内容而不使用display:none;

 /** hide the tab without using display:none; **/ .ui-tabs .ui-tabs-hide { display: block !important; height: 0!important; width: 0!important; border:none!important; visibility:hidden!important; 

}

 /** make sure your swf does not have leftover height when hidden **/ .ui-tabs .ui-tabs-hide object, .ui-tabs .ui-tabs-hide embed { height: 0; width: 0; } 

这个对我有用。 告诉我,如果适合你! 杰罗姆·瓦格纳

一旦你对它们进行隐藏/显示(display:none;),一些浏览器(例如firefox)就会重新加载flash电影。 这是标签系统正在发生的事情。 我所知道的唯一解决方案是

  1. 闪光的位置:绝对;
  2. 听标签系统的事件
  3. 显示/隐藏选项卡时,确保闪存移入和移出屏幕视图

如果你想要一个多闪存的通用解决方案,这可能会变得棘手。

我希望这能帮到您

就像接受答案的更新一样。 在较新版本的jQuery UI中,类已更改。

 .ui-tabs .ui-tabs-hide 

在css中现在需要替换为:

 .ui-tabs .ui-tabs-panel[aria-hidden="true"] 

希望有所帮助