Zal*_*aka 19 javascript java gwt google-chrome
我正在开发GWT应用程序,我使用
com.google.gwt.user.client.Window.open(pageUrl, "_blank", "");
Run Code Online (Sandbox Code Playgroud)
打开新页面.并且在调用时会打开一个新选项卡,例如,在按钮单击后直接调用.但我决定在打开新页面之前在服务器上进行一些验证,并将调用上面提到的方法放到
public void onSuccess(Object response) {
}
Run Code Online (Sandbox Code Playgroud)
它开始在新窗口中打开页面而不是新标签(这仅适用于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", "");
}
}
);
}
});
Run Code Online (Sandbox Code Playgroud)
我把igorbel的答案标记为唯一正确的cos我没有找到任何适当的方法在所有情况下指定相同的行为.
小智 21
我使用了这段代码,它适用于google chrome和mozilla firefox 3.6.8浏览器如果你想在新窗口中打开一个页面,你应该编写代码为
Window.open("www.google.com","_blank","enabled");
Run Code Online (Sandbox Code Playgroud)
如果要在新选项卡中打开页面,则应将代码编写为
Window.open("www.google.com","_blank","");
Run Code Online (Sandbox Code Playgroud)
我不确定您是否能够按照您想要的方式控制它。问题在于浏览器可以决定何时打开窗口以及何时打开选项卡。例如,Firefox 有选项:“改为在新选项卡中打开新窗口”。并且不要忘记不支持选项卡的浏览器(是的,那些仍然存在)。
由于这是用户体验中存在问题的一个方面,我的建议是重新考虑您的设计。对于您的应用程序来说,区分打开新选项卡和打开新窗口真的那么重要吗?
| 归档时间: |
|
| 查看次数: |
48754 次 |
| 最近记录: |