java - 使用 JavaFX WebView 时未加载 iframe

标签 java javafx iframe webview

我正在使用 JavaFX WebView 加载网站。该网站正在使用 iframe。

它在经典浏览器上运行良好,但是当我使用 JavaFX WebView 显示页面时,框架是空的。

我尝试通过 Java 代码以编程方式显示 iframe 的内容(根据此: How to get by javafx webview content iframe loaded page? )。它是空的。

我还尝试在客户端允许所有内容安全策略、X-Frame-Options 等(通过覆盖 HTTP header ),遵循 JavaFX WebView disable Same origin policy (allow cross domain requests) 。它没有改变任何东西。

我添加了一个 WebConsoleListener 来查看一些日志。我没有错误。

有什么问题吗?有没有办法获取更多日志?

最佳答案

原来问题是这样的:iframe中的网站的证书链有问题(整个证书链不是由iframe中的网站传输的)。使用 SSLLabs 发现了该问题。

使用浏览器访问页面时这不是问题,因为浏览器可以管理这种情况,但 sun JVM 无法做到这一点。

某处出现了 SSL 握手异常,但它被 JavaFX WebView 隐藏了(在某处被捕获,此后没有清晰显示)。

因此,一旦发现问题,为了解决它,我们就会回到传统的解决方案:

  • 如果可能,修复证书链不完整的网站(推荐)
  • 如果不是,请通过将网站提供的证书添加到 cacerts 文件来明确信任该证书,或者禁用 SSL 安全性(不推荐)

关于java - 使用 JavaFX WebView 时未加载 iframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59124197/

相关文章:

Java添加后台后,为什么程序会变慢?

javascript - IE 8 iFrame 仅在首次加载时导致 JavaScript 错误

html - 无法在 Firefox 中设置 IFrame 的 document.body.innerHTML

ios - iOS 中 youtube iframe 上的边距

java - Hybris 后台 : how to trigger a create wizard programmatically

java - 本地主机拒绝来自应用程序的连接

java - 包含lastIndexOf?

javafx - 如何在不先按 Enter 的情况下使 JavaFX TableView 单元格可编辑?

javafx - 如何确定JavaFX应用程序所需的FXML文件,CSS文件,图像和其他资源的正确路径?

JavaFX:在 TextArea 中显示文本,每行之间有延迟