Javafx 2 滚动时在javafx web视图中查找结束页

Javafx 2 滚动时在javafx web视图中查找结束页,javafx-2,javascript,Javafx 2,Javascript,我已经在JavaFx2中加载了本地html文件。我正在滚动web视图页面。当我到达页面末尾时,我需要收到警告消息 如何做到这一点?由于您处于网络视图中,因此可以使用将以下代码注入加载的页面来实现这一点: setInterval(function() { var y = (window.pageYOffset !== undefined) ? window.pageYOffset : (document.documentElement || document.body.parentNode

我已经在JavaFx2中加载了本地html文件。我正在滚动web视图页面。当我到达页面末尾时,我需要收到警告消息


如何做到这一点?

由于您处于网络视图中,因此可以使用将以下代码注入加载的页面来实现这一点:

setInterval(function() {
    var y = (window.pageYOffset !== undefined) ? window.pageYOffset : (document.documentElement || document.body.parentNode || document.body).scrollTop;
    y -= 12;
    var maxY = document.body.scrollHeight -  window.innerHeight;
    if (y == maxY)
    {
        alert('bottom');
    }
}, 200);
这将检查您是否每200毫秒向下滚动到底部。 请注意,标准javascript
alert()
在当前的JavaFX2.x中不可用(但计划在3.0版中使用)。你必须自己这样处理:

webview.getEngine().setOnAlert(new EventHandler<WebEvent<String>>() {
        @Override
        public void handle(WebEvent<String> e)
        {
            System.out.println("Alert: " + e.getData());
        }
    });
webview.getEngine().setOnAlert(新的EventHandler()){
@凌驾
公共无效句柄(WebEvent e)
{
System.out.println(“警报:+e.getData());
}
});
滚动到底部时,应将
Alert:bottom
打印为标准输出。没有测试。测试和工作

注意
y-=12
:这是为了说明水平滚动条是否可见。12是滚动条的标准高度(因此,如果使用CSS设置滚动条的样式,则需要对其进行修改)此外,如果您不希望看到水平滚动条,则需要将该行全部删除。因此,我建议使用CSS手动禁用水平滚动条

另外,在一个相关的注释中,出于某种原因,如果您在全屏
WebView
中,
maxY
将始终是
0
。目前似乎没有解决办法