无法使用cordova iOS在iframe中正确加载外部网址

时间:2013-03-15 16:58:11

标签: cordova iframe ssl external

我需要帮助。有谁知道为什么我不能在phonegap / cordova iOS中一直将URL加载到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)

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

我是新手,因此在开始将旧的webApps“移植”到移动平台之前,我正在努力解决基本问题。 我的开发系统有: 狮子 科尔多瓦2.5 xCode 4.6

欢迎任何帮助。谢谢!

1 个答案:

答案 0 :(得分:2)

我想我明白了。如果其他人陷入我所犯的同样误解的话,我会在这里张贴。

查看常规桌面浏览器中的响应标头,我注意到移动应用iframe中未加载的网页在其响应标头中设置了X-Frame-Options: SAMEORIGIN。 此选项告诉Web浏览器不要在框架中加载该页面,除非该窗口属于同一原点。由于我的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

-ROD