如果你想要在 browser tab 關掉時去執行一些應用程式邏輯,例如清理資料等等。我們可以傾聽 browser tab 關掉的事件,這件事等同於 ZK 的 desktop 被移除。 ZK 提供一個 DesktopCleanup listener讓你可以傾聽任何一個 desktop 被移除的事件,所以只要發現你所關注的那一頁的 desktop 被移除了,那就是該 tab 被關掉了,你可以在該 listener 中實作你的應用程式邏輯。範例如下: import org . zkoss . zk . ui . Component ; import org . zkoss . zk . ui . Desktop ; import org . zkoss . zk . ui . select . SelectorComposer ; import org . zkoss . zk . ui . select . annotation . Listen ; import org . zkoss . zk . ui . select . annotation . Wire ; import org . zkoss . zk . ui . util . DesktopCleanup ; import org . zkoss . zul . Div ; public class CloseComposer extends SelectorComposer < Component > { @Wire Div root ; @Override public void doAfterCompose ( Component comp ) throws Exception { super . doAfterCompose ( comp ); //or register in zk.xml getPage (). getDesktop (). addListener ( new MyDesktopCleanupListener ()); } @Listen ( "onClick = #exi...