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