2010-12-21 63 views
0

我正在開發一個GXT/GWT項目。我有兩個選項卡,其中的內容是根據下拉菜單中的選項設置的。一個標籤中的內容是嵌入式視頻(Google Video或YouTube視頻)切換標籤時重新加載GXT/GWT html內容

問題是,切換標籤時,視頻會重新加載並從頭開始。我希望能夠切換選項卡,並在焦點切換到另一個選項卡時讓視頻繼續播放或暫停。

任何想法,一如既往,非常感謝。

乾杯, 本

+0

你創建標籤選擇標籤的內容? – 2010-12-21 12:25:28

回答

0

那是因爲你使用的是IFRAME嵌入,IFRAME必須重新加載時,其位置和大小的變化。這是在Firefox中完成的,但IE在其位置或大小改變時不會重新加載IFRAME。

0

Google視頻使用閃光燈,當您切換到另一個選項卡時,它會從DOM中移除,並且當您切換回來時,Flash必須重新加載。您可能可以爲玩家創建一個自定義小部件,並將其設置爲dom元素的顯示或可見性CSS屬性。

0

在差異瀏覽器中存在此問題的差異行爲。

對於FF,如果您從一個標籤切換到另一個標籤,它將重新加載Flash內容。原因是,如果你從一個標籤切換到另一個標籤,那麼取消選擇的標籤「display」屬性將變爲「none」,而當你再次回到該標籤時,「display」屬性將更改爲「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"); 
    } 
1

我同意@mmohab。這是iFrame的行爲,並且與閃光燈無關。重新加載問題將通過使用Gxt的HtmlContainer類和setUrl()方法而不是使用TabItemContentPanelsetUrl方法來解決。 HtmlContainer包您指定的HTML或URL頁面身體的Div標籤,而不是iFrame中:

HtmlContainer html = new HtmlContainer("www.youtube.com"); 
yourTabItemObj.add(html);