如何在JavaFx中获取webview控件的文档高度?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 forums WebView configuration thread。对于相关功能的基于Java API
相关问题跟踪请求:
它的工作原理,但结果是不正确的。我通过像素线测量,高度约为480px,代码返回414px。 – 2015-06-05 05:54:25
谢谢你的泽。这有点迟了。你的例子正在运行。不过,我有一个嵌入在“TableCell”中的webview。这里的结果总是0像素(关闭:https://stackoverflow.com/questions/22334983/java-fx-tableview-display-simple-html/22335276#22335276)任何想法如何解决这个问题? – BerndGit
请参阅:https://stackoverflow.com/questions/42856471/workaround-for-rt-25005-automatic-preferred-sizing-of-webview以获取更具体的问题,包括运行示例。 – BerndGit
这是你在找什么:
Double.parseDouble(webView.getEngine().executeScript("document.height").toString())
- 1. 获取的WebView高度
- 2. 获取文档的宽度和高度
- 3. jQuery:获取HTML文档的总高度
- 4. 使用Dart获取文档高度?
- 5. 获取React中文档的高度
- 6. JavaFX/FXML - 获取VBox的高度
- 7. Windows Phone 8.1 - 获取WebView高度
- 8. JavaFX在FXML文档中编辑WebView
- 9. 从URL链接获取文档的高度和宽度链接到文档
- 10. 在WebView中获取文档位置?
- 11. iOS 9 UIWebView获取html文档的宽度和高度
- 12. jquery获取文档宽度
- 13. 获取Shape对象的宽度和高度的JavaFX
- 14. JavaFX获取浏览器宽度和高度
- 15. 使用javafx获取webview的内容
- 16. 如何在android中获取Webview的宽度和高度
- 17. 获取高度
- 18. 真正跨浏览器的方式获取文档高度?
- 19. 获取跨域iFrame中的文档的高度
- 20. 如何使用C#获取文档高度?
- 21. 如何获取C#中呈现的HTML文档的高度
- 22. 使用angularjs 1.2.4获取文档高度(不是身体)
- 23. 如何在不同缩放级别获取文档高度?
- 24. 在文档加载时获取图像高度
- 25. 如何获取ACE Editor文档的总高度?
- 26. 如何在浏览器中获取最大文档高度?
- 27. 获取包含滚动条的文档内容的高度javascript
- 28. webview内容高度
- 29. Android WebView宽度和高度
- 30. 获取NSString高度
Java和JavaScript有很大的不同。另外,请扩展您的问题,或许您已经尝试过。 –
我有一个webview控件,我想设置它的高度相对于文档高度。 –
请点击编辑更新您的问题。您的评论仅仅重新排列了原始问题中的单词! –