主界面标签切换时候JS组件问题

主页面标签切换的时候好像会把非当前标签的JS组件销毁掉,切回来的时候再恢复。我有一个视频播放组件,每次切走再切回来视频都会从头播放,请问有办法让标签切走后不销毁组件么?

有个暴力方法是调整切换tab时的cuba行为,参照下面的帖子和文档,不过会增大内存消耗。


image

如果不想改这两个参数,思路是不是切换时暂停,让播放器更新播放进度到cuba的web层java代码中,每次切回来的时候跳到上次暂停的位置?

我集成quill的时候,就是这样处理的,实时更新编辑器内容到cuba,connector onStateChange的时候再把内容从cuba要回来。

但是想象了下,播放器这么搞会不会显得卡顿。

不知道大神们意下如何?
@Ray.Lv
@bryanyin

动不动就要全局处理啊,只是想某一个标签页特殊一点不行么,大神们想个办法能否只让某个特定的标签页不销毁

建议再看一下这个帖子:

并不是对所有标签都设置成 hide,而是可以单独指定每个标签的模式。

setContentSwitchMode这个方法是旧版AbstractWindow上的方法,我的界面现在是从Screen派生的,请问怎么使用这个方法呢

我在TabSheetBehaviour上找到了void setContentSwitchMode(String tabId, ContentSwitchMode contentSwitchMode);

但是这个地方需要当前tab的一个ID,这个ID我怎么得到呢?

我试了上面帖子里提到的getWindow() 可以获得:

        TabWindow window = (TabWindow) getWindow();
        window.setContentSwitchMode(Window.ContentSwitchMode.HIDE);
1赞

谢谢,我试了,确实可以