1

查看 JavaFX 8 中的 WebView(准确地说是 JRE 1.8.0_25),它似乎-webkit-filter完全被破坏了。

任何将-webkit-filterCSS 规则应用于任何 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>
4

1 回答 1

1

根据您的测试,答案是否定的,JavaFX 8 WebView 不支持-webkit-filter.

如果存在属性,则数据不应完全消失(该属性应该被忽略,并且图像呈现为好像该属性从未存在过),因此您可以在JavaFX 问题跟踪器-webkit中提交错误报告。

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

于 2014-11-12T20:08:18.150 回答