2016-08-21 42 views
0

前一段時間,我創建了一個應用程序,客戶端使用WebRTC協議連接到服務器。客戶端屏幕由兩部分組成。一半連接到服務器並接收諸如消息之類的東西,並且具有其中具有WebRTC JavaScript的網頁。另一個是IFRAME。當客戶端連接到服務器時,服務器向客戶端發送一個加載到IFRAME中的Web地址。X-Frame ORIGINS IFRAME

我知道某些網頁無法加載到iframe中,例如通常有密碼屏幕。 Google表單似乎沒有這個限制,這非常棒。

所以,現在想象我啓動一個服務器,並要求20人連接到它。所有20名學生都正確連接到服務器,我知道它是因爲它在我的電腦上提供了所有的細節。通常,從我的測試中,15/20將會很好。其他5人將獲得白色屏幕。當我在控制檯中調查時,這是一個XFRAMES ORIGIN問題,它表示正在加載的網頁不允許將它自己加載到iframe中。然而,其他人(使用相同的瀏覽器[chrome]和一些相同的瀏覽器版本)都很好。

現在我有一個解決方案,適用於一些學生來說,存在鉻被稱爲設置:

block third party cookies and site data 

如果已啓用它不工作,如果沒有啓用它的工作。

現在我還剩下4名學生,他們仍然只看到一個我無法解決的白屏問題。 Chrome和Firefox都支持該軟件,但都產生相同的問題。

建築設置是學生通過服務器連接到互聯網。他們必須通過這個服務器連接,因爲我的域名服務器不是本地的,事實上我的網站也不是本地的。

我不認爲這是一個編碼問題,因爲它只發生在幾個選擇的計算機上,其他所有的工作只是hunky dory。因此,我認爲這可能是其他問題的一個問題:防火牆,安全設置,配置按鈕等。如果任何人有什麼建議,我可以做些什麼來彌補這一點,那麼我會非常感謝您的幫助。

我試圖提供所有我認爲相關的信息(亨氏長度),但是我錯過了任何東西,請問。

謝謝。 Alex

回答

0

對於未來遇到此問題的用戶,我將在此處創建此更新。基本上,對於想要回答iframe僅顯示whitepage的問題的人來說,

有了這三個解決方案,我已經消除了所有的問題,但是當我想出新的問題時,我會在這裏發佈它們。希望它有用的人:)

SOLUTION 1

如果你的iframe的目標的地方,需要用戶登錄,這是不可能的工作。由於顯而易見的原因,密碼頁面很少是交叉的。解決方案是在他們使用iframe頁面之前確保他們完全登錄到他們正在做的事情,或者提供一條錯誤消息,告訴他們這些信息。看到這個職位的詳細信息:Catch error if iframe src fails to load . Error :-"Refused to display 'http://www.google.co.in/' in a frame.."

我在哪裏我們有雙重登錄,所以他們登錄谷歌和然後進入組織。這兩個登錄區域都會導致頁面加載失敗。

解決方案2(僅限Chrome)

一些服務不好反應QUIC模式,和我的一些用戶中的大多數問題源於此。

要解決:

1. chrome://flags 
    2. change QUIC mode to 'Disabled' 

解決方案3

如果通過該功能需要使用Cookie代理服務器工作時,用戶可能有問題,如果他們有「阻止第三方Cookie和網站數據「按鈕啓用。禁用此功能會對iframe的正常工作產生積極影響。

在Chrome:

Settings 
Search for cookies 
Click 'content settings' 
0

如果主站點的URL與iframe的URL不同,則會出現xframes出現問題。這包括協議(http與https)和完整域(example.com與www.example.com)。換句話說,如果用戶轉到example.com,並且iframe使用www.example.com,則可能會導致xframes原點錯誤。或者如果他們去http://www.example.com和iframe使用https://www.example.com您可能會收到此錯誤。

+0

主要是它的工作原理雖然它只有當有,我有一個問題,某些頁面。一個例子是谷歌搜索不起作用,但谷歌形式確實工作。 –