我正在研究GXT / GWT项目。我有两个选项卡,根据下拉菜单中的选项设置内容。一个标签中的内容是嵌入式视频(Google视频或YouTube视频)
问题是当切换标签时,视频会重新加载并从头开始重新开始。我想要的是能够切换标签,让焦点切换到另一个标签时视频继续播放或暂停。
我们非常感谢任何想法。
干杯, 本
答案 0 :(得分:1)
我同意@mmohab。这是iFrame的行为,与闪存无关。重新加载问题将通过使用Gxt的HtmlContainer
类和setUrl()
方法而不是使用TabItem
或ContentPanel
的{{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");
}