2

开发 PhoneGap (3.0) Android 应用程序并将 jQueryMobile (1.3.2) 与 jQuery (1.9.1) 集成。

已编辑:根据 jQM 1.3 规范将 jQ 版本更改为 1.9.1。之前使用的是 1.10。但是仍然有同样的问题。

我正在使用以下代码来确保 jQM 和 deviceready 都已触发:

var app = {
deviceReadyDeferred: $.Deferred(),
jqmReadyDeferred: $.Deferred(),

init: function () {
    document.addEventListener('deviceready', function () { app.deviceReadyDeferred.resolve(); });

    $(document).one("mobileinit", function () {
        app.jqmReadyDeferred.resolve();
    });

    $.when(app.deviceReadyDeferred, app.jqmReadyDeferred).then(app.loaded);
},

loaded: function () {
    /* CODE OMITTED: create new page from ajax data, and insert into DOM */
    $.mobile.initializePage();
    $.mobile.changePage("#pageID");
}

在高于 2.3 的 Android 版本和 iOS 中一切正常。但是,在 Android 2.3/2.2 中,当我到达 时$.mobile.initializePage(),我得到$.mobile.initializePage的是'undefined'. 任何想法为什么这可能会在 Android 2.3 及更低版本中发生?我得到这个mobileinit事件就好了。我使用的 jQM 和 jQ 版本都表示它们与 Android 2.3 和 2.2 兼容。

感谢您对我的问题的任何帮助和智慧!

4

0 回答 0