我正在使用Phonegap编写iPhone应用程序。我有本地.html
和.js
个文件。以下内容位于我的index.html
文件中:
function onBodyLoad() {
document.addEventListener("deviceready", deviceReady, false);
}
function deviceReady() {
$.getScript("js/order.js");
}
我研究和研究过,但是无法弄清楚为什么我的“order.js”文件没有被$.getScript
方法调用。有任何想法吗?或者还有其他方法可以在.js
中的deviceReady函数中调用此index.html
文件吗?
答案 0 :(得分:0)
对我来说,以下解决方案效果很好。
添加一个使用ajax的自定义jQuery函数并缓存加载的脚本:
function init()
{
// Create a custom cached script importer based on ajax
jQuery.cachedScript = function(url, options)
{
// Allow custom options, but dataType, cache and url are always predefined
options = $.extend(options || {},
{
dataType: "script",
cache: true,
url: url
});
return jQuery.ajax(options);
};
importScripts();
}
导入脚本并选择处理done
和fail
:
function importScripts()
{
$.cachedScript("js/events.js")
// Wait for the script to be loaded, before adding the listener
.done(function()
{
document.addEventListener("deviceready", onDeviceReady, false);
});
$.cachedScript("js/navigation.js");
$.cachedScript("js/mark.js");
}
多数民众赞成:) 可以找到更多信息here。