0

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

当我将单个 HTML 页面分解为多个 HTML 文件(每个页面一个)时,就会出现问题。我无法加载页面。框架显示“错误加载页面”。

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

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

有人可以给点建议吗?

谢谢!

4

2 回答 2

1

我已经解决了我的问题。

我在想 PhoneGap 的行为就像直接从文件系统加载页面并且不允许 AJAX 请求一样。在我的桌面测试中,我无法加载外部链接“加载页面错误”。但是在设备上发布应用程序后,所有外部链接都会相应地运行。在某种程度上,PhoneGap 基础设施可以在本地处理 AJAX 请求。

因此,为了在我的桌面上进行测试,我只需将应用程序放在 IIS 中,外部链接就会起作用。当应用程序在设备上发布时,行为将是相同的。

于 2013-02-26T17:29:01.517 回答
0

PhoneGap doesn't run a webserver. All files are loaded via file:// protocol. Thus, any request is considered cross origin.

To solve this, you need to allow requests to all hosts.

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

See http://docs.phonegap.com/en/1.9.0/guide_whitelist_index.md.html

于 2013-02-26T12:27:52.307 回答