PhoneGap中的Access Origin问题

时间:2015-01-01 22:06:08

标签: cordova iframe phonegap-build

我在使用我正在开发的PhoneGap应用中的iframe中显示网页时遇到问题。我目前正在iOS上测试该应用。

根据我的理解,我必须使用""

将config.xml文件中的某些网站列入白名单。

我试图允许用户通过iframe访问登录和注册页面。我将访问源设置为以下内容:

<access origin="*" subdomains="true" />

它会加载我网站上的所有其他页面(尝试将其连接到http://www.pokemonfriendcodes.com/),但是当我点击链接转到登录/注册页面时,它就不会加载。该应用程序什么都不做。

以下是我需要访问的两个不会加载的页面:http://www.pokemonfriendcodes.com/login/ http://www.pokemonfriendcodes.com/register/

关于为什么这些不会加载的任何想法?似乎任何与登录/用户端相关的内容都不会加载。

我也尝试将原点更改为www.pokemonfriendcodes.com,甚至还要删除&#34;子域名&#34;有点 - 但没有运气。我想把它留在&#34; *&#34;允许它连接到任何网页,但我想不是......?

目前还不确定要做什么。谢谢!

1 个答案:

答案 0 :(得分:0)

您的问题完全在服务器端,与访问源无关。

问题是您的服务器在登录注册页面上应用的跨源策略。您可以通过从那里打开Web开发人员工具和网络控制台来自己查看。打开网络控制台后,转到根URL(http://www.pokemonfriendcodes.com/)并检查服务器发送的标头。现在,打开新选项卡并使用登录/注册页面执行相同操作并比较响应标头。如您所见,根URL头上没有X-Frame-Options:SAMEORIGIN,但它位于登录页面和注册页面上。这会禁止它显示在您的iframe中。

要解决此问题,请在服务器上禁用这些页面上的X-Frame-Options:SAMEORIGIN标题。