我正在开发一个PhoneGap应用程序(HTML5 + CSS3 + Javascript / JQuery Mobile)。我开始使用包含多个页面的单个HTML文件。我在页面之间切换时使用页面转换(幻灯片)。
当我在多个HTML文件中打破单个HTML页面时(每个页面一个),会出现问题。我无法加载页面。框架显示“错误加载页面”。
我知道当使用多个html文件时,JQuery Mobile框架使用AJAX加载页面内容。如果我在Web服务器(比如IIS)中部署应用程序,一切都会好起来的。但是在本地文件中运行 - 比如PhoneGap应用程序需求 - ,框架无法执行AJAX请求,因此无法加载页面“错误加载页面”。
有人可以给出一些建议吗?
谢谢!
答案 0 :(得分:1)
我已经解决了我的问题。
我认为PhoneGap的行为就像直接从文件系统加载页面而不允许AJAX请求。在我在桌面上的测试中,我无法加载外部链接"错误加载页面"。但是在设备上发布应用程序之后,所有外部链接都会相应地运行。在某种程度上,PhoneGap基础设施可以在本地处理AJAX请求。
所以,要在我的桌面上测试,我只需将应用程序放在IIS中,外部链接就可以了。当应用程序在设备上发布时,行为将是相同的。
答案 1 :(得分:0)
PhoneGap不运行网络服务器。所有文件都通过file://
协议加载。因此,任何请求都被视为交叉来源。
要解决此问题,您需要允许所有主机发出请求。
<access uri="*" subdomains="true" />
请参阅http://docs.phonegap.com/en/1.9.0/guide_whitelist_index.md.html