我已经谷歌了很多但是无法找到解决这个问题的方法。我有一个在浏览器窗口中运行的Vaadin应用程序。我有一个注销按钮,单击它必须使会话无效并关闭浏览器窗口。我能够获得此代码以使会话无效并关闭应用程序。但是,我也希望关闭浏览器窗口,这是我没有取得任何成功的地方
WebApplicationContext webCtx = (WebApplicationContext) appRef.getMainWindow().getApplication().getContext();
HttpSession session = webCtx.getHttpSession();
session.invalidate();
appRef.getMainWindow().getApplication().close();
我正在使用vaadin 6.x并尝试以下操作,但它们不适用于我尝试过的Chrome浏览器和IE浏览器。
appRef.getMainWindow().executeJavaScript("window.close();");
任何想法都将不胜感激。我的另一个问题是我需要获取主窗口的名称,然后调用mainWindow.close();或者只是window.close()?
答案 0 :(得分:3)
appRef.getMainWindow().getApplication()
即可获取该应用程序。只需appRef.close();
appRef.getMainWindow().executeJavascript("window.close()");
将按预期工作。