切换标签时,GXT / GWT html内容会重新加载

时间:2010-12-21 04:41:01

标签: java gwt gxt

我正在研究GXT / GWT项目。我有两个选项卡,根据下拉菜单中的选项设置内容。一个标签中的内容是嵌入式视频(Google视频或YouTube视频)

问题是当切换标签时,视频会重新加载并从头开始重新开始。我想要的是能够切换标签,让焦点切换到另一个标签时视频继续播放或暂停。

我们非常感谢任何想法。

干杯, 本

4 个答案:

答案 0 :(得分:1)

我同意@mmohab。这是iFrame的行为,与闪存无关。重新加载问题将通过使用Gxt的HtmlContainer类和setUrl()方法而不是使用TabItemContentPanel的{​​{1}}方法来解决。 setUrl将您给定的Html或Url页面正文包装为Div标记,而不是iFrame:

HtmlContainer

答案 1 :(得分:0)

那是因为您使用IFRAME进行嵌入,IFRAME必须在其位置或大小发生变化时重新加载。这是在Firefox中完成的,但IE在其位置或大小发生变化时不会重新加载IFRAME。

答案 2 :(得分:0)

Google视频使用闪存,当您切换到另一个标签页时,它会从DOM中删除,并且当您切换回来时Flash必须重新加载。您可以为重新创建它的播放器创建自定义窗口小部件,并设置dom元素的显示或可见性CSS属性。

答案 3 :(得分:0)

差异浏览器中存在此问题的差异行为。

对于FF,如果从一个选项卡切换到另一个选项卡,它将重新加载Flash内容。原因是,如果您从一个选项卡切换到另一个选项卡,则取消选择的选项卡"显示"财产正在变为"无"当你再次回到那个标签时,显示"属性将更改为" block"。这是FF中此问题的根本原因。

在IE中你不会遇到这个问题。

解决方案:

.templateTabItem {position: absolute !important;} //css

    TabItem item = new TabItem();
    if (!GXT.isIE && !GXT.isIE8 && !GXT.isIE9) {
        item.setHideMode(HideMode.VISIBILITY);
        item.addStyleName("templateTabItem");
    }