我需要帮助。有谁知道为什么我不能在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
欢迎任何帮助。谢谢!
答案 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