WebView-getVisibleContent-文本/ HTMLJavaFX

问题描述

我有一个很大的html文件,因为我想对某些文本何时可见进行一些逻辑处理。

使用JEditorPane在 Swing 上,可以像这样获取加载的HTML的可见文本

contentScrollBar.getVerticalScrollBar().addAdjustmentListener(adjustmentEvent -> {
    JViewport jViewport = contentScrollBar.getViewport();
    Dimension size = jViewport.getExtentSize();

    Point startPoint = jViewport.getViewPosition();
    int start = contentEditorPane.viewToModel(startPoint);

    Point endPoint = new Point(startPoint.x + size.width,startPoint.y + size.height);
    int end = contentEditorPane.viewToModel(endPoint);

    if (contentEditorPane.getText() != null && start != -1 && end != 1) {
        try {
            String text = contentEditorPane.getText(start,end - start);
            if (text != null && text.split(System.lineseparator()).length > 0) {
                List<String> nonEmptylines = Arrays.stream(text.split(System.lineseparator())).filter(x -> !x.trim().equals("")).collect(Collectors.toList());
                        //Do logic
            }
        } catch (BadLocationException e) {
            e.printstacktrace();
        }
    }
});

我想在 JavaFx 上尝试相同的解决方案,我正在使用WebView加载本地html,但是我似乎找不到等效的方法。我尝试过

WebView.getEngine().executeScript("document.documentElement.outerHtml")

但这会从非常大的文件中返回所有html,而我只想获取可见的Text或Html,有什么办法吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)