JavaFX webview不支持过滤器?

时间:2014-11-12 10:21:19

标签: javafx javafx-8 javafx-webengine

在JavaFX 8(准确地说是JRE 1.8.0_25)中查看WebView,看起来-webkit-filter完全被破坏了。

任何将-webkit-filter CSS规则应用于任何HTML组件的尝试都会导致基础数据完全消失。

您可以通过将http://html5-demos.appspot.com/static/css/filters/index.html加载到WebView中来查看演示。如果您在页面上设置了任何过滤器,图像就会消失。

这是一个已知的错误吗?有没有已知的解决方法?

更新:使用JRE 8u77重新测试后,现在似乎有所改进,但并未完全修复。在页面中的任何位置使用-webkit-filter会创建呈现错误。将以下HTML加载到JavaFX WebView中以查看:

<html>
<body style="background-color: #888">
<div id='xx' style="-webkit-transform-origin: 0 0; -webkit-transform: scale(5)">
This is some text
<button onclick="document.getElementById('xx').style.webkitFilter = 'invert(100%)'">Click me</button>
</div>
</body>
</html>

1 个答案:

答案 0 :(得分:1)

从测试开始,答案是否定的,JavaFX 8 WebView不支持-webkit-filter

如果存在-webkit属性,则数据不应该完全消失(该属性应该被忽略并且呈现的图像就好像属性从未存在过),因此您可以提交错误报告在JavaFX issue tracker

我不会说缺乏对草案w3c规范的支持或任何-webkit css属性错误。 WebView永远不会正式支持-webkit属性,它将支持很多非草案的w3c html / css规范。如果您有兴趣更详细地讨论此类功能的实现,或者想参与在WebView中启用它们,请发布到openjfx-dev邮件列表。