有一个网站有一个包含网络应用程序的iframe。我们假设应用程序的高度为1000px。在应用程序的底部(1000px)有按钮。如果用户按下按钮,则应用程序将更改其视图,新长度仅为20px(因此,20px至1000px的范围仅为白色(空白页))。
我的目标是,当有人按下该按钮时,浏览器应将其页面滚动到顶部(意味着滚动发生在iframe之外。有没有人知道如何在gwt中执行此操作的解决方案(无需设置锚点)在持有iframe的页面中??
提前很多!
答案 0 :(得分:1)
最后我找到了解决方案。在iframe的顶部设置一个锚点并将其命名为:
public static native void scrollToTop() /*-{
$wnd.location.href = '#anchorName';
}-*/;
这也会强制父窗口(包含iframe的窗口)滚动到该锚点。
答案 1 :(得分:0)
但是,出于多种原因,大多数人都讨厌iframe,如果可能的话,你应该避免使用iframe。
答案 2 :(得分:0)
如何在父窗口或顶窗口中使用JSNI和滚动?像这样:
public static native void scrollToTop() /*-{ $wnd.parent.scrollTo(0,0); // or `$wnd.top.scrollTo(0,0); }-*/;
与top的组合也应该只与“窗口”一起使用。 $ wnd只是因为GWT实际上是在嵌入式iframe中运行。但我不确定如果它们来自不同的服务器,您的代码是否会被允许滚动父文档。
答案 3 :(得分:0)
如果调用java脚本函数滚动到包含iframe的页面的div id呢?这可能吗?