GWT/GWTP弹出式弹出仪并不总是由于CSS延迟渲染而集中



我正在使用GWT 2.4,GWTP和Chrome 22.0.1229.94进行测试。我已经在这个问题上挣扎了几天。

在启动时,我使用扩展了popupviewimpl的视图提出了一个自定义弹出式弹出器。在覆盖的reveal()方法中,我将对话框中心。GWTP代码同步中心,也使用ScheduleDeferred。

在开发模式下并在本地服务器上运行,一切都按预期运行:弹出对话框始终呈现和居中。我也在IE中进行了测试。

但是,当在Internet上部署到实时Web服务器时,我会注意到,当我使用F5刷新时,有时在脚本尝试将对话框居中之前不会应用CSS。这会导致测量错误,并且对话框未放置在中心。有趣的是,这似乎只有时不时地发生,通常是当浏览器在调用计划延期命令之前呈现所有(CSS)资源时不够快。

所以,我已经尝试了以下内容:

  1. 使用不同技术加载CSS(在HTML文件中引用,GWT模块中的参考,放入CSSRESOUCE)
  2. 使用Scheduler.get()。scheduledeferred作为默认代码也可以。
  3. 调用RootlayOutPanel.get()。onReveal中的onResize()尝试在递延之前触发某些布局。

我注意到Chrome和IE中的行为相同,因此这可能不是浏览器问题。我的问题是将我的"中心"插入在哪里,以确保在适当应用所有CSS之后被调用,或者如果我还能做其他任何事情来强制CSS渲染?

谢谢!

这是主持人中的供电代码,扩展了ErstanserWidget:

@Override
protected void onReveal() {
    super.onReveal();
    // Hide loading image
    fireEvent(new HideApplicationLoadingImageEvent());
    // Reset message
    getView().setStatusMessage(null);
    // Center the popup
    getView().center();
}

有方法addtopopupslot(Child,Boolean Center);如果您发送true以进行中心参数,请注意将弹出窗口集中在gwtp示例中: - addtopopupupslot(widget,true)

相关内容

  • 没有找到相关文章

最新更新