JavaFX的文档状态,一个WebView当准备Worker.State.SUCCEEDED达到但是,除非你稍等片刻(即Animation,Transition,PauseTransition等等),一个空白页面的呈现方式。
这表明 WebView 内部发生了一个事件,准备捕获它,但它是什么?
GitHub 上SwingFXUtils.fromFXImage有7,000 多个代码片段使用,但其中大多数似乎与 无关WebView,是交互式的(人类掩盖了竞争条件)或使用了任意转换(从 100 毫秒到 2,000 毫秒的任何时间)。
我试过了:
changed(...)从WebView的维度内监听(高度和宽度属性DoubleProperty实现ObservableValue,可以监控这些东西)
runLater(...)在 FX 应用程序线程上盲目地讲述任何事情。
将 DOM 侦听器/触发器或 JavaScript 侦听器/触发器添加到 WebView
SUCCEEDED尽管捕获了空白,但在调用时 JavaScript 和 DOM 似乎都已正确加载。DOM/JavaScript 侦听器似乎没有帮助。使用AnimationorTransition有效地“睡眠”而不阻塞主 FX 线程。
什么时候打电话合适WebView.snapshot(...)?
用法:
SnapshotRaceCondition.initialize();
BufferedImage bufferedImage = …Run Code Online (Sandbox Code Playgroud)