1

我已经接管了 jqueryMobile/phonegap 应用程序的工作。当我从 Firefox 中的源文件://location_to_index.html 运行它时(Chrome 的 Origin null 不允许 Access-Control-Allow-Origin 错误),页面加载正常并运行。

我已使用 rackup 将站点打包为在 heroku 上运行的静态站点, https: //devcenter.heroku.com/articles/static-sites-ruby

当我尝试从本地运行此页面时http://192.168.0.0.1:9292,页面加载,但出现以下错误

发生意外错误:未捕获的类型错误:无法调用未定义的方法“changePage” 

我已经看到一些关于如何使用 changePage 启动 jQueryMobile 和 live 而不是准备好文档的评论,但是我已经让页面从文件运行,所以我不知道为什么这与从服务器运行有什么不同。

我的初始化函数是

var jqMobilePreInit = 函数() {
    jQuery(document).bind("mobileinit", function() {
        jQuery.mobile.defaultPageTransition = '幻灯片';
        jQuery.mobile.initializePage = false;
        jQuery.mobile.page.prototype.options.keepNative = "选择、输入、字段集、文本区域、a、按钮";
    });
};
var jqInit = 函数() {
    设置超时(函数(){
        // 仅在不在 phonegap 内时运行。否则由phonegap完成
        如果(window.device == null){
            应用程序初始化();
        }
    }, 750);
};

应用程序 init 导致构建 historyStack 的函数,它调用 ajax 页面来加载请求并将它们添加到历史记录中。

    loadExternalPage(pp[0], function(extLoaded) {
                     setUpPage(pp[0], pp, false); //设置页面
        jQuery.mobile.changePage(jQuery("#" + pp[0])); // 调用开关
    });

有什么建议么?

4

0 回答 0