Vaadin BrowserFrame 不显示 HTTPS 源



我似乎无法获得Vaadin(7)浏览器框架来打开https源代码,并且正在努力理解为什么会这样。使用 http://源,网页可以很好地打开,但是使用 https://www.google.co.uk 时我只会得到一个空白页面;TCPDUMP 显示请求已送达,但它不会显示在浏览器窗口中。

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)内容引起的问题。浏览器窗口可能正在尝试加载"潜在危险"的http页面/资源。如果打开浏览器控制台,您将能够看到未加载内容的错误。

简而言之:如果https父窗口尝试通过http加载资源,从而危及整个页面的安全性,则浏览器可以/不会加载该资源。

有关混合内容的更多详细信息,请参阅此处

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

最新更新