1

我正在使用 phonegap 为 Android 部署在 afui(英特尔 Appframework UI)中制作的 Web 应用程序,但是,当我在 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 回答