3

我需要帮助。有人知道为什么我不能始终将 URL 加载到 phonegap/cordova iOS 中的 iframe 中吗?我注意到有些页面只是拒绝在 iframe 中加载,而其他页面则可以正常加载。我似乎也无法加载基于 SSL 的网站。例子:

<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 中添加了stay-in-webview 和访问源标签(我可以在 iframe 中加载一些外部页面),但不确定为什么这种行为不一致。我用来开发的 Mac 可以正确加载所有这些。

我是新手,所以在开始将我的旧 webApps “移植”到移动平台之前,我正在尝试一些事情来围绕基础知识。我的开发系统有: Lion Cordova 2.5 xCode 4.6

欢迎任何帮助。谢谢!

4

1 回答 1

2

我想我明白了。如果其他人陷入与我相同的误解,我会将其发布在这里。

查看我的常规桌面浏览器中的响应标头,我注意到不会在移动应用程序 iframe 中加载的页面X-Frame-Options: SAMEORIGIN在其响应标头中有设置。此选项告诉网络浏览器不要在框架中加载该页面,除非该窗口属于同一来源。由于我的 iframe 不符合条件,因此无法加载页面。https://developer.mozilla.org/en-US/docs/HTTP/X-Frame-Options

我也(错误地)理解了 config.xml 的目标,而列表:白名单是应用程序可以访问的地方。它与应用程序可以接收的内容无关。我的错。

我将尝试使用 cordova 的 childbrowser 插件,并希望获得更好的结果。 https://github.com/macdonst/phonegap-plugins/tree/master/Android/ChildBrowser

-竿

于 2013-03-15T18:28:57.743 回答