我有一个带有简单“请稍候”机制的 GWT 应用程序。当我按下按钮发送 RPC 调用时,我会在屏幕上显示一个模式弹出对话框,该对话框会阻止用户交互,直到 RPC 返回。像这样,我防止用户多次单击按钮并发送多个 RPC。这非常有效,除非在加载 IFrame 时。在这种情况下,我安装在 iframe 上的 loadhandler 永远不会被调用。
/**
* Test class
*/
public class Test implements EntryPoint {
/**
* This is the entry point method.
*/
@Override
public void onModuleLoad() {
final PopupPanel popup = new PopupPanel(false, true);
popup.add(new Label("Please wait"));
popup.center();
final Frame frame = new Frame("http://www.google.com");
frame.addLoadHandler(new LoadHandler() {
@Override
public void onLoad(LoadEvent event) {
Window.alert("Event received");
popup.hide();
}
});
RootPanel.get().add(frame);
}
}
但是,如果我构造一个 PopupPanel(false, false),则会触发 LoadEvent。注意:这只发生在编译模式下,不会出现在 GWT 开发模式下。
有人有线索吗?
先感谢您,
麦克风