1

Android 用の afui (Intel Appframework UI) で作成された Web アプリケーションをデプロイするために phonegap を使用していますが、Android エミュレーターでテストすると、アプリを起動した直後にデバッグ コンソールに次のエラーが表示されます。

Uncaught TypeError: Property 'touchLayer' of object function (selector, context) 
    // The jQuery object is actually just the init constructor 'enhanced' 
    return new jQuery.fn.init( selector, context, rootjQuery ); 
} is not a function at file:///android_asset/www/ui/appframework.ui.js:3281

また、すべての JavaScript 機能が無効になっています。

何が問題なのかわかりません。Elementary OS 上の chrome でアプリをテストしましたが、正常に動作します。

phonegap 3.1.0-0.15.0、jQuery 1.10.2、および App Framework UI 2.0 を使用しています。

js ファイルを次の順序でインポートしています。

<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/jquery.js"></script>
<script src="js/jq.appframework.js"></script>
<script type="text/javascript" charset="utf-8" src="ui/appframework.ui.js"></script>

誰かがこれに対する解決策を見つけるのを手伝ってくれることを願っています.

4

1 に答える 1

0

私はこれと同じ問題を抱えていました。最終的に、Appframework Kitchen Sink の index.html を調べたところ、エラーを解消するには、アプリの index.html 内に次のスクリプトが必要であることがわかりました。

var webRoot = "./";
$.ui.autoLaunch = false; //By default, it is set to true and you're app will run right away.  We set it to false to show a splashscreen
/* This function runs when the body is loaded.*/
var init = function () {
        $.ui.backButtonText = "Back";// We override the back button text to always say "Back"
        window.setTimeout(function () {
            $.ui.launch();
        }, 1500);//We wait 1.5 seconds to call $.ui.launch after DOMContentLoaded fires
    };
document.addEventListener("DOMContentLoaded", init, false);
$.ui.ready(function () {
    //This function will get executed when $.ui.launch has completed
});

このコードが必要な理由はまだわかりませんが、その使用法もここに文書化されています。

于 2014-01-21T01:45:41.537 に答える