请教个问题,是这样,我登录后是一个 自定义的页面。
页面上有一个 A按钮跳转到有原本有左侧菜单的呢个页面 ,现在想点击 A按钮 开启一个浏览器的新窗口 打开 左侧菜单的呢个页面 报错提示
.withOpenMode(OpenMode.NEW_WINDOW)报错! 但是 .withOpenMode(OpenMode.ROOT) 正常
总提示我页面没有 “work area”这个工作区 但 左侧菜单页面是有这个标签的。
1 个赞
在测试项目中使用 OpenMode.NEW_WINDOW 为什么打开还是一个新的 tab页。。。不是应该用新的浏览器窗口 打开么
WindowManager.OpenType.NEW_WINDOW
是给desktop设计的,但是desktop在cuba7里面已经不支持了。https://forum.cuba-platform.com/t/redirect-to-a-link-in-a-new-window-automatically/6785
你要新开一个浏览器窗口还是新开一个浏览器的tab也行?
如果是浏览器的tab,可以参照cuba主界面上默认的那个新开一个tab的按钮的逻辑。
在cuba\modules\web\src\com\haulmont\cuba\web\gui\components\mainwindow\WebNewWindowButton.java
中。
public WebNewWindowButton() {
component = new CubaButton();
component.addStyleName(NEW_WINDOW_BUTTON_STYLENAME);
component.setDescription(null);
URL pageUrl;
try {
pageUrl = new URL(ControllerUtils.getLocationWithoutParams());
} catch (MalformedURLException ignored) {
LoggerFactory.getLogger(WebNewWindowButton.class).warn("Couldn't get URL of current Page");
return;
}
ExternalResource currentPage = new ExternalResource(pageUrl);
final BrowserWindowOpener opener = new BrowserWindowOpener(currentPage);
opener.setWindowName("_blank");
opener.extend(component);
}
非常感谢!