如何停止重新加载jQuery UI选项卡内的SWF
我有一个jQuery UI选项卡内的SWF电影,并且我遇到的问题是每当我从该选项卡点击到另一个选项卡时,SWF就会重新加载,然后点击返回。我可以检查DOM并查看包含SWF的div在点击时仍处于DOM中,所以我不知道为什么它会在点击返回标签时重新加载它。如何停止重新加载jQuery UI选项卡内的SWF
添加以下CSS规则要尽量防止显示器被设置为:无,但Flash影片还是重装:
.ui-tabs .ui-tabs-hide {
display: block !important;
position: absolute;
left: -10000px;
}
更新:原来,这是关系到以下Firefox bug这自2001年以来一直在使用Firefox 0.9。但是我仍然没有很好的解决方法。
前面提到的解决方案的工作在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;
}
这对我的作品。告诉我是否适合你! 杰罗姆·瓦格纳
@Jerome WAGNER:这个问题在于,在你的UI中,你会得到一个非常大的滚动条,因为DOM仍然在其布局中包含每个选项卡的所有元素,即使它们不在活动选项卡中。 – 2010-04-13 23:17:47
@Raul Agrait:我想我通过修改我的答案来解决您的滚动条问题。告诉我! – 2010-04-14 08:09:42
尽管您的解决方案并未完全解决我的问题,但它在某些方面确实有所帮助,所以我会接受它以授予您提供最佳答案的奖励。 – 2010-04-19 18:46:12
某些浏览器(例如firefox)会在您对其执行隐藏/显示(display:none;)时重新加载Flash影片。 这就是选项卡系统发生的情况。 我知道的唯一解决方案是
- 有一个位置的flash:绝对;
- 听标签系统的事件
- 确保闪光灯和缩小屏幕视图移动显示的标签时/隐藏
,如果你想多闪光灯这可以成为棘手,通用的解决方案..
我希望这将有助于你
你好, 你能否详细说明-1?这真的是我一直在Firefox上观察的。尽管我通常将绝对定位的闪光灯放在标签div的外面。 – 2010-04-12 07:35:31
是的,我不小心点击了向下箭头,然后试图撤消它,但现在我收到一条消息,指出“投票太旧,无法更改,除非这个答案被编辑了” - 也许你可以做一个小的编辑? – 2010-04-12 21:43:07
我做了编辑。所以你用css试过了,它不起作用?我看到了你的赏金,并且如果没有其他人回答,我会在接下来的日子里尝试更深入的了解;-) – 2010-04-12 22:17:13
正如接受答案的更新。在新版本的jQuery UI中,类已经改变。
.ui-tabs .ui-tabs-hide
在CSS
现在需要被替换:
.ui-tabs .ui-tabs-panel[aria-hidden="true"]
希望帮助
@Raul Agrait:你尝试设置对象和嵌入的大小的答案吗?它为我解决了滚动条问题。 – 2010-04-15 13:33:16
得到同样的问题 http://stackoverflow.com/questions/15499610/app-is-loading-each-time – 2013-03-19 13:10:02