Java 如何摆脱GWT应用程序内部框架上的双滚动条

Java 如何摆脱GWT应用程序内部框架上的双滚动条,java,javascript,css,gwt,scroll,Java,Javascript,Css,Gwt,Scroll,作为将遗留应用程序移植到GWT的一部分,我们需要将现有JSP嵌入到GWT应用程序中。其中许多页面相当长,导致出现一个双滚动条——一个用于主应用程序窗口,另一个用于框架内容。我想去掉内部的滚动条,在主窗口上放一个普通的浏览器滚动条。如果我能得到渲染内容的高度(整个可滚动区域),我可以在我的框架上设置高度来匹配它,但我不知道从哪里可以得到这些信息 编辑:为了澄清这一点,GWT是主要的应用程序导航,并使用iFrame(com.google.GWT.user.client.ui.Frame)嵌入遗留内容

作为将遗留应用程序移植到GWT的一部分,我们需要将现有JSP嵌入到GWT应用程序中。其中许多页面相当长,导致出现一个双滚动条——一个用于主应用程序窗口,另一个用于框架内容。我想去掉内部的滚动条,在主窗口上放一个普通的浏览器滚动条。如果我能得到渲染内容的高度(整个可滚动区域),我可以在我的框架上设置高度来匹配它,但我不知道从哪里可以得到这些信息

编辑:为了澄清这一点,GWT是主要的应用程序导航,并使用iFrame(
com.google.GWT.user.client.ui.Frame
)嵌入遗留内容。我想做的是使页面足够大,这样封闭的框架就不需要滚动条;只有主机页会滚动。如果有任何方法来确定一个框架的“可滚动区域”,我可以动态调整主页的大小以适应它


第二次编辑:我或多或少地听从了杰克·M的建议。但是我没有使用HTTPRequest,而是使用了RequestBuilder,这使它变得非常简单。我想手动获取HTML,而不是从一开始就使用框架,但由于必须“修复”托管页面中的URL而受阻;如果用户“点击”托管的HTML,则有许多相对URL实例需要修补才能正常工作。让历史导航与此一起工作也有点痛苦。一旦我清理了我的代码,我会尝试将其发布到人们可以获取的地方,因为我确信这对于将现有应用迁移到GWT的人来说一定是一个常见的用例。

将GWT嵌入旧JSP是否有意义?将其放置在JSP上的某个位置,然后导入JS

很抱歉,不清楚如何将JSP嵌入GWT

我想知道,像document.body.clientHeight这样的东西对您有帮助吗?


它解释了如何在JavaScript中获取窗口大小并管理其滚动

我能想到的完全解决这个问题的最简单方法是不使用框架元素,而是将框架元素与。这种方法增加了RPC调用的复杂性,但an是一个简单的
,其中包含内容。因此,它可以扩展和/或与JSP内容联系。最终结果将是两个页面的无缝集成


谷歌自己也有很好的HTTP请求示例。

在我的GWT应用程序中,我创建了一个框架对象。然后我执行frame.setUrl(“/path/to/legacy_content”)——因此浏览器基本上会将一个新页面加载到框架中。遗留内容碰巧是由JSP生成的。可以消除滚动条,但不可能使页面“适合”框架,这就是我理解您实际需要的内容的方式。如果您真的想让滚动条消失,只需将框架的溢出设置为“无”。