Я занимаюсь разработкой приложения GWT и я используюGWT открытая страница в новой вкладке
com.google.gwt.user.client.Window.open(pageUrl, "_blank", "");
, чтобы открыть новую страницу. И он открывается на новой вкладке при вызове, например, непосредственно после нажатия кнопки. Но я решил сделать несколько проверок на сервере, прежде чем открывать новую страницу и поставил звонок на указанный выше метод к
public void onSuccess(Object response) {
}
И он начинает открывать страницы в новом окне вместо новой вкладки (это только справедливо для Chrome другие браузеры все еще открывают его на новой вкладке).
Может кто-нибудь мне помочь?
Я построил небольшой пример, чтобы проиллюстрировать этот вопрос:
button.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
Window.open("http://www.google.com/", "_blank", "");
MySampleApplicationServiceAsync serviceAsync = GWT.create(MySampleApplicationService.class);
serviceAsync.getMessage("Hello, Server!", new AsyncCallback() {
public void onFailure(Throwable caught) {
Window.alert("ERROR");
}
public void onSuccess(Object result) {
Window.open("http://www.bing.com/", "_blank", "");
}
}
);
}
});
- Firefox (3.6.8) открывает обе страницы в новых вкладках.
- Chrome (6.0) открывает «google.com» на новой вкладке и «bing.com» в новом окне
- Opera (10.10) открывается на новых вкладках.
- IE (8.0) открывается как в новых Windows.
Я пометил ответ igorbel «ы, как единственно правильный, потому что я не нашел правильный способ указать такое же поведение во всех ситуациях.
Этот вопрос был полезен для меня, чтобы узнать, как просто открыть новую вкладку: com.google.gwt.user.client.Window.open (pageUrl, "_blank", ""); – cellepo