2010-04-09 62 views
5

我有一个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。但是我仍然没有很好的解决方法。

+0

@Raul Agrait:你尝试设置对象和嵌入的大小的答案吗?它为我解决了滚动条问题。 – 2010-04-15 13:33:16

+0

得到同样的问题 http://stackoverflow.com/questions/15499610/app-is-loading-each-time – 2013-03-19 13:10:02

回答

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; 
} 

这对我的作品。告诉我是否适合你! 杰罗姆·瓦格纳

+0

@Jerome WAGNER:这个问题在于,在你的UI中,你会得到一个非常大的滚动条,因为DOM仍然在其布局中包含每个选项卡的所有元素,即使它们不在活动选项卡中。 – 2010-04-13 23:17:47

+0

@Raul Agrait:我想我通过修改我的答案来解决您的滚动条问题。告诉我! – 2010-04-14 08:09:42

+0

尽管您的解决方案并未完全解决我的问题,但它在某些方面确实有所帮助,所以我会接受它以授予您提供最佳答案的奖励。 – 2010-04-19 18:46:12

1

某些浏览器(例如firefox)会在您对其执行隐藏/显示(display:none;)时重新加载Flash影片。 这就是选项卡系统发生的情况。 我知道的唯一解决方案是

  1. 有一个位置的flash:绝对;
  2. 听标签系统的事件
  3. 确保闪光灯和缩小屏幕视图移动显示的标签时/隐藏

,如果你想多闪光灯这可以成为棘手,通用的解决方案..

我希望这将有助于你

+0

你好, 你能否详细说明-1?这真的是我一直在Firefox上观察的。尽管我通常将绝对定位的闪光灯放在标签div的外面。 – 2010-04-12 07:35:31

+0

是的,我不小心点击了向下箭头,然后试图撤消它,但现在我收到一条消息,指出“投票太旧,无法更改,除非这个答案被编辑了” - 也许你可以做一个小的编辑? – 2010-04-12 21:43:07

+0

我做了编辑。所以你用css试过了,它不起作用?我看到了你的赏金,并且如果没有其他人回答,我会在接下来的日子里尝试更深入的了解;-) – 2010-04-12 22:17:13

1

正如接受答案的更新。在新版本的jQuery UI中,类已经改变。

.ui-tabs .ui-tabs-hide 
在CSS

现在需要被替换:

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

希望帮助

相关问题