【问题标题】:PhoneGap + JQuery Mobile + Transitions + Multiple HTML files = "Error Loading Page"PhoneGap + JQuery Mobile + 过渡 + 多个 HTML 文件 = “错误加载页面”
【发布时间】:2013-02-11 21:19:59
【问题描述】:

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

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

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

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

有人可以给点建议吗?

谢谢!

【问题讨论】:

    标签: javascript jquery-mobile cordova


    【解决方案1】:

    我已经解决了我的问题。

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

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

    【讨论】:

    • 我在 Mac 上本地工作时遇到了类似的问题。如果我在浏览器中加载文件,它也会给我加载错误,但是当我通过本地主机上的 apache 运行它时,它工作得很好。
    【解决方案2】:

    PhoneGap 不运行网络服务器。所有文件都通过file:// 协议加载。因此,任何请求都被视为跨源请求。

    要解决这个问题,您需要允许对所有主机的请求。

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

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

    【讨论】:

      猜你喜欢
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-12
      相关资源
      最近更新 更多