我在jQuery UI选项卡中有一个SWF电影,而我遇到的问题是,每次我从标签上点击另一个标签时,SWF都会重新加载,然后再点击返回。我可以检查DOM,看到当我点击时,包含SWF的div仍然在DOM中,所以我不知道为什么当我点击返回标签时它似乎重新加载它。
我添加了以下CSS规则以尝试阻止将显示设置为:none,但Flash影片仍在重新加载:
.ui-tabs .ui-tabs-hide {
display: block !important;
position: absolute;
left: -10000px;
}
更新:事实证明这与自2001 / Firefox 0.9以来一直存在的以下Firefox bug有关。然而,我仍然没有一个好的解决方法。
答案 0 :(得分:4)
前面提到的解决方案适用于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;
}
它对我有用。告诉我,如果适合你! 杰罗姆·瓦格纳
答案 1 :(得分:1)
有些浏览器(例如firefox)会在您对其进行隐藏/显示(display:none;)时重新加载Flash电影。 这是标签系统正在发生的事情。 我所知道的唯一解决方案是
如果你想要一个多闪存的通用解决方案,这可能会变得棘手......
我希望这会对你有所帮助
答案 2 :(得分:1)
就像接受答案的更新一样。在较新版本的jQuery UI中,类已经发生了变化。
.ui-tabs .ui-tabs-hide
css中的现在需要替换为:
.ui-tabs .ui-tabs-panel[aria-hidden="true"]
希望有所帮助