0

我已经下载了我的 JQuery Mobile 应用程序的文件结构。我这样做是为了测试从本地文件系统运行它。原因是我希望我的应用程序与 Cordova 一起运行。据我了解,cordova 在 file:// 下运行文件。目前,我的文件结构如下所示:

index.html
account
  register.html
  reset.html

在 index.html 中,我有一个“注册”按钮。当有人点击它时,我使用以下代码:

$.mobile.changePage("account/register.html", { transition: "slide" });

如果我将完整路径放在浏览器 url 中,我已经验证 register.html 可以正常工作。奇怪的是,当我单击“注册”时,我看到“错误加载页面”。在 file:// 下使用 changePage 是否有问题?如果是这样,我该如何克服?

谢谢!

4

3 回答 3

0

这个答案特别适用于您在 iOS 上运行 PhoneGap 应用程序时遇到问题。

确保您设置了$.mobile.allowCrossDomainPages = true;AJAX 调用注入页面所需的参数。

在您的 PhoneGapapp对象定义中:

var app = {
    initialize: function() {
        // setting required to use $.mobile.changePage()
        // http://jquerymobile.com/demos/1.2.0/docs/pages/phonegap.html
        $.mobile.allowCrossDomainPages = true;
    },
};

因此,当您调用app.initialize()index.html,此属性将在任何$.mobile.changePage()函数调用之前设置。

这将节省您尝试找出问题的时间,因为 Safari Web Inspector 不会返回任何错误。

于 2012-10-17T16:32:00.300 回答
0

尝试这个

$.mobile.changePage("../account/register.html", { transition: "slide" });
于 2012-05-28T04:56:28.250 回答
0

您可以<a href="">..</a>在代码中留下链接,它会正常工作。除非你有理由显式调用 changePage。

于 2012-05-28T08:27:31.763 回答