【问题标题】:jQueryMobile Does not load with Phonegap on AndroidjQueryMobile 无法在 Android 上使用 Phonegap 加载
【发布时间】:2013-06-06 15:07:59
【问题描述】:

常规 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: $

【问题讨论】:

  • 你在哪里加载 jquery 本身?
  • 因为.ready 不适用于jQueryMobile。请改用pageinit$(document).on('pageinit', function () { alert(); }); 你还必须在 jQuery Mobile 中包含 jQuery。
  • @Omar 编辑了我的问题以反映新问题。
  • 你用的是什么 jQuery 版本?
  • @Gajotres 成功!如果您想发表您的评论作为答案,我很乐意接受。

标签: javascript android jquery-mobile cordova


【解决方案1】:

将您的 jQuery 版本从 2.0.2 降级为 1.9.11.8.3

jQuery Mobile 被锁定到某些 jQuery 版本,当前的 jQuery Mobile 1.3.1 可以与 jQuery 1.7 兼容,直到 1.9.3. >

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多