Vaadin BrowserFrame 不显示 HTTPS 源

Vaadin BrowserFrame not displaying HTTPS sources

我似乎无法获得 Vaadin(7) BrowserFrame 来打开 https 源,并且正在努力理解为什么会这样。使用 http:// sources 网页打开得很好,但我在使用 https://www.google.co.uk 时只得到一个空白页面; tcpdump 显示已处理请求,但未在浏览器中显示 window。

class BrowserWindow extends Window {

  BrowserWindow(URI externalUri) {
    center()
    setClosable(false)
    setDraggable(false)
    setResizable(false)
    setSizeFull()
    setModal(true)

    def ex = new ExternalResource(externalUri.toString())
    BrowserFrame browser = new BrowserFrame("Browser", ex)
    browser.setSizeFull()

    content = browser
  }
}

它与

一起工作得很好
getUI().getCurrent().addWindow(new BrowserWindow("http://www.truespeed.com")

但没有

getUI().getCurrent().addWindow(new BrowserWindow("https://www.google.co.uk")

有人知道为什么会这样吗?

这通常是混合(https 和 http)内容引起的问题。 BrowserWindow 可能正在尝试加载 "Potentially Dangerous" 的 http 页面/资源。如果您打开浏览器控制台,您将能够看到导致内容未加载的错误。

简而言之:如果 https 父级 window 试图通过危及整个页面安全性的 http 加载资源,浏览器 can/will 不会加载该资源。

可以找到有关混合内容的更多详细信息here

确保您尝试加载的资源使用 https 来解决该问题(如果混合内容是问题所在)。