2016-03-21 42 views
1

我似乎无法获得Vaadin(7)BrowserFrame来打开https源,并且很难理解为什么会这样。使用http://来源网页打开的很好,但我只是在使用https://www.google.co.uk时才得到一个空白页面; tcpdump显示一个请求被提供,但它没有显示在浏览器窗口中。Vaadin BrowserFrame不显示HTTPS源

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") 

有谁知道为什么,可能是?

回答

2

这通常是由混合(https和http)内容引起的问题。 BrowserWindow可能试图加载一个“潜在危险”的http页面/资源。如果您打开浏览器控制台,您将能够看到错误,因为内容未加载。

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

有关混合内容的更多详细信息here

确保您试图装入资源使用https来解决这个问题(如果混合内容的问题)。