如何在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控件,我想設置它的高度相對於文檔高度。 –
請點擊編輯更新您的問題。您的評論僅僅重新排列了原始問題中的單詞! –