2013-03-15 73 views
2

我需要幫助。任何人都知道爲什麼我不能一致地將URL加載到phonegap/cordova iOS中的iframe中? 我注意到有些頁面只是簡單地拒絕在iframe中加載,而其他頁面加載的很好。我似乎也無法加載基於SSL的網站。例子:無法在使用cordova的iframe中正確加載外部網址iOS

<iframe src="http://ucla.edu"></iframe> //loads correctly 
<iframe src="http://google.com"></iframe> //refuses to load 
<iframe src="http://www.ufrj.br"></iframe> //loads correctly 
<iframe src="http://192.168.20.95"></iframe> //loads correctly (this a local server I have inside my work network) 
<iframe src="https://192.168.30.15"></iframe> //refuses to load (this also a local server but with a valid ssl cert (signed by startcom/startSSL) 

我加住宿功能於網頁流量和訪問來源標籤對config.xml(我可以加載在iframe一些外部頁),但不知道爲什麼這種行爲並不一致。我用來開發的Mac可以正確加載所有這些。

我對此很陌生,因此在開始將我的舊webApps移植到移動平臺之前,我正在嘗試將我的頭圍繞基礎。 我開發的系統有: 獅子 科爾多瓦2.5 的Xcode 4.6

任何幫助是值得歡迎的。謝謝!

回答

1

我想我明白了。我會在這裏發佈這個案件,以防其他人陷入同樣的​​錯誤觀念。

查看我的常規桌面瀏覽器中的響應標題我注意到,在移動應用程序iframe中不會加載的頁面在其響應標頭中設置了X-Frame-Options: SAMEORIGIN。 該選項告訴網頁瀏覽器不要在框架中加載該頁面,除非該窗口屬於同一個原點。由於我的iframe不符合資格,頁面將無法加載。 https://developer.mozilla.org/en-US/docs/HTTP/X-Frame-Options

我也曾(誤)瞭解config.xml的目標whilelisting:該白名單是應用程序可以訪問的地方。它與應用程序可以接收的內容沒有多大關係。我的錯。

我會嘗試使用cordova的childbrowser插件,並希望獲得更好的結果。 https://github.com/macdonst/phonegap-plugins/tree/master/Android/ChildBrowser

-ROD

+0

更好的嘗試InAppBrowser – Whizkid747 2013-03-15 20:23:03

+0

爲什麼好,Whizkid747? – rod 2013-03-15 20:50:13

+0

它不是一個插件,並帶有PhoneGap。因此,PhoneGap的每個版本都有保證和升級。 – Whizkid747 2013-03-15 21:05:59