PhoneGap + JQuery Mobile + Transitions +多个HTML文件=“错误加载页面”

时间:2013-02-26 12:12:58

标签: javascript jquery-mobile cordova

我正在开发一个PhoneGap应用程序(HTML5 + CSS3 + Javascript / JQuery Mobile)。我开始使用包含多个页面的单个HTML文件。我在页面之间切换时使用页面转换(幻灯片)。

当我在多个HTML文件中打破单个HTML页面时(每个页面一个),会出现问题。我无法加载页面。框架显示“错误加载页面”。

我知道当使用多个html文件时,JQuery Mobile框架使用AJAX加载页面内容。如果我在Web服务器(比如IIS)中部署应用程序,一切都会好起来的。但是在本地文件中运行 - 比如PhoneGap应用程序需求 - ,框架无法执行AJAX请求,因此无法加载页面“错误加载页面”。

  • 我需要使用JQuery Mobile
  • 我需要使用页面转换(幻灯片)来改善用户体验
  • 我想使用多个HTML文件,而不必处理独特的大型html文件
  • 该应用程序不会部署到Web服务器,因为它是PhoneGap应用程序,必须在文件系统中本地运行。
  • 我在Android中部署应用程序并使用Adobe Build生成APK安装文件。

有人可以给出一些建议吗?

谢谢!

2 个答案:

答案 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