2016-03-21 43 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來解決這個問題(如果混合內容的問題)。