我正在创建一个使用jQuery Mobile的PhoneGap应用程序,我现在遇到使用$ .getScript()动态加载javascript的问题;
以下失败:
$(document).on('pageinit','#index',function() {
$.getScript("/assets/js/alert.js",function(data, textStatus, jqxhr){});
});
然而......当我通过HTTP调用它时...工作:
$(document).on('pageinit','#index',function() {
$.getScript("http://testdomain.com/assets/js/alert.js",function(data, textStatus, jqxhr){});
});
Google网上论坛上的以下帖子是相关的,但事实证明对我来说毫无结果: https://groups.google.com/forum/?fromgroups#!topic/phonegap/LkIN97HYX5k
理想情况下,当jQuery mobile引入新页面时,我需要延迟加载某些脚本文件。对于任何一个熟悉的新页面,既不需要数据的页眉或页脚,因为它们是即时生成的:
http://jquerymobile.com/test/docs/pages/page-scripting.html
构建jQuery Mobile站点时最简单的方法是 引用同一组样式表和脚本 页。如果您需要加载特定的脚本或样式 特定页面,我们建议将绑定逻辑绑定到pageinit事件 (详细信息如下)在创建特定页面时运行必要的代码 (可以通过其id属性或其他一些来确定 方法)。遵循此方法将确保代码执行if 页面直接加载或通过Ajax拉入并显示。
我想知道的是,首先,如果有其他人以这种方式遇到jQuery的getScript问题,或者是否有解决方法。其次,关于动态javascript的加载器的建议,它将在PhoneGap和jQuery mobile的范围内工作。通过阅读,Require.js似乎沿着正确的路径,但不完全兼容PhoneGap。
希望我有意义。