当前位置: 首页 > 面试题库 >

JavaFX Webview,获取文档高度

谢叶五
2023-03-14
问题内容

如何获取JavaFx中Webview控件的文档高度?


问题答案:

您可以使用以下调用获取WebView中显示的文档的高度:

webView.getEngine().executeScript(
    "window.getComputedStyle(document.body, null).getPropertyValue('height')"
);

演示呼叫使用情况的完整应用程序:

import javafx.application.Application;
import javafx.beans.value.*;
import javafx.scene.Scene;
import javafx.scene.web.*;
import javafx.stage.Stage;
import org.w3c.dom.Document;

public class WebViewHeight extends Application {
  @Override public void start(Stage primaryStage) {
    final WebView webView = new WebView();
    final WebEngine engine = webView.getEngine();
    engine.load("http://docs.oracle.com/javafx/2/get_started/animation.htm");
    engine.documentProperty().addListener(new ChangeListener<Document>() {
      @Override public void changed(ObservableValue<? extends Document> prop, Document oldDoc, Document newDoc) {
        String heightText = webView.getEngine().executeScript(
          "window.getComputedStyle(document.body, null).getPropertyValue('height')"
        ).toString();
        double height = Double.valueOf(heightText.replace("px", ""));

        System.out.println(height);
      }
    });
    primaryStage.setScene(new Scene(webView));
    primaryStage.show();
  }

  public static void main(String[] args) { launch(args); }
}

上面的答案的来源:Oracle
JavaFX论坛WebView配置线程

针对基于Java的API的相关功能的相关问题跟踪器请求:

RT-25005 WebView的自动首选大小。



 类似资料:
  • Elasticsearch 提供实时获取文档的方法。这意味着只要文档被索引且客户端收到消息确认后,你就可以立即在任何的分片中检索文档。Get 操作通过 index/type/id 方式请求一个文档信息: $params = [ 'index' => 'my_index', 'type' => 'my_type', 'id' => 'my_id' ]; // Get doc

  • 问题内容: 有些文档我无法获取文档的高度(将某些内容绝对定位在最底部)。另外,在这些页面上的底部填充似乎没有任何作用,但在高度会返回的页面上却没有作用。案例: 在Fandango上, jQuery的返回正确值 返回0 返回0 关于平装交换: jQuery的TypeError:为null 返回错误的值 返回错误的值 注意:如果有一些窍门,我具有浏览器级别的权限。 问题答案: 文档大小是浏览器兼容性的

  • 我刚从Eclipse搬到Android Studio,我发现当我使用快速文档(CtrlQ)时,它总是显示“获取文档”。 我怎样才能解决这个问题?我下载了API 19的文档,但问题依然存在。

  • 问题内容: 在Elasticsearch中,还有什么更好的方法(除了发出完全匹配查询并手动对所有返回文档的长度进行平均)以获取特定索引的平均文档长度? 问题答案: 该_size映射场,如果允许,应该给你的每个文件的大小是免费的。将其与聚合结合起来可以得到所需的内容。就像是:

  • 问题内容: 我有这个HTML代码: 问题是我收到消息“错误”。这意味着iframe的文档未正确获取,而GetDoc函数实际返回的是父文档。 如果您告诉我在哪里犯错,我将不胜感激。(我想将文档托管在IFrame中。) 谢谢。 问题答案: 您应该可以使用以下代码访问IFRAME中的文档: 但是,如果框架中的页面是从其他域(例如google.com)加载的,则将无法执行此操作。这是因为浏览器的“相同来源

  • 在我们仔细处理之后。我仍然无法获取自动生成的文档ID。没有“then”选项。我的代码: 创建后如何获取ID?