jQueryMobile不在Android上加载Phonegap

时间:2013-06-06 15:07:59

标签: javascript android jquery-mobile cordova

常规javascript工作,但是当我尝试使用jQuery或jQueryMobile时,它不会加载。 我已经下载了压缩的jQueryMobile文件,并将其放在我的项目中。

这些是我的HTML文件中的脚本声明

<script type = "text/javascript" src = "cordova-2.7.0.js"></script>
<script type = "text/javascript" src = "js/jquerymobile.js"></script>
<script type = "text/javascript" src = "js/myscript.js"></script>

这是myscript.js中没有触发的函数:

$(document).ready(function()
    {
        alert('at least this works');
    });

我可以在logcat中看到这条错误信息:

06-06 14:57:19.555: D/CordovaLog(249): file:///android_asset/www/js/myscript.js: Line 15 : ReferenceError: Can't find variable: $

这促使我相信jQueryMobile根本没有加载。我发现有关此错误消息的其他解决方案对我不起作用。任何帮助将不胜感激。

编辑:

我添加了jQuery并将deviceready换成了pageinit。我仍然遇到错误。

我的新脚本声明是:

<script type = "text/javascript" src = "cordova-2.7.0.js"></script>
<script type = "text/javascript" src = "js/jquery.js"></script>
<script type = "text/javascript" src = "js/jquerymobile.js"></script>
<script type = "text/javascript" src = "js/myscript.js"></script>

我未被调用的新函数是:

$(document).on('pageinit', function () 
    { 
        alert('at least this works');
    }); 

以下是来自logcat的一些有趣的错误消息:

06-06 15:16:39.777: D/CordovaLog(219): file:///android_asset/www/js/jquery.js: Line 3345 : TypeError: Result of expression 'Object.defineProperty' [undefined] is not a function.

06-06 15:16:40.747: D/CordovaLog(219): file:///android_asset/www/js/jquerymobile.js: Line 26 : TypeError: Result of expression '$' [undefined] is not an object.

06-06 15:16:40.757: D/CordovaLog(219): file:///android_asset/www/js/myscript.js: Line 15 : ReferenceError: Can't find variable: $

1 个答案:

答案 0 :(得分:1)

将您的jQuery版本从 2.0.2 降级为 1.9.1 1.8.3

jQuery Mobile被锁定到某些jQuery版本,当前的jQuery Mobile 1.3.1 将与jQuery 1.7 一起使用,直至 {{ 1}}