Phonegap事件简历
我正在尝试加载XML数据,一切正常,但我想在设备恢复时重新加载XML数据。
这是我的代码,我不知道在哪里粘贴function,在简历上加载。 感谢您的build议;-)
var TITLE = "Example"; var XMLsoubor = "example.xml"; var entries = []; var selectedEntry = ""; //listen for detail links $(".contentLink").live("click", function () { selectedEntry = $(this).data("entryid"); }); //Listen for main page $("#mainPage").live("pageinit", function () { //Set the title $("h1", this).text(TITLE); $.ajax({ url: XMLsoubor, success: function (res, code) { entries = []; var xml = $(res); var items = xml.find("event"); $.each(items, function (i, v) { entry = { title: $(v).find("id").text(), link: $(v).find("begin").text(), description: $.trim($(v).find("description").text()) }; entries.push(entry); }); //store entries localStorage["entries"] = JSON.stringify(entries); renderEntries(entries); }, error: function (jqXHR, status, error) { //try to use cache if (localStorage["entries"]) { $("#status").html("Error"); entries = JSON.parse(localStorage["entries"]) renderEntries(entries); } else { $("#status").html("Error"); } } }); }); $("#mainPage").live("pagebeforeshow", function (event, data) { if (data.prevPage.length) { $("h1", data.prevPage).text(""); $("#entryText", data.prevPage).html(""); }; }); //Listen for the content page to load $("#contentPage").live("pageshow", function (prepage) { //Set the title $("h1", this).text(entries[selectedEntry].title); var contentHTML = ""; contentHTML += entries[selectedEntry].description; contentHTML += '<p/><a href="' + entries[selectedEntry].link + '"></a><br><br><br>text'; $("#entryText", this).html(contentHTML); }); function renderEntries(entries) { var s = ''; $.each(entries, function (i, v) { s += '<li><a href="#contentPage" class="contentLink" data-transition="slide" data-entryid="' + i + '">' + v.title + '<br>text</a></li>'; }); $("#linksList").html(s); $("#linksList").listview("refresh"); }
使用eventlistener进行“简历”。 应该在deviceready发射后立即进行。
http://docs.phonegap.com/en/2.9.0/cordova_events_events.md.html#resume
你的脚本中首先应该有一个deviceready的事件,因为在deviceready事件被触发之前,很多Cordova事情还没有准备好,所以你需要监听deviceready,像这样:
document.addEventListener("deviceready", onDeviceReady, false);
然后在onDeviceReady函数中添加其他监听器,并从那里开始启动应用程序的其余部分:
function onDeviceReady() { //The device is ready when this function is called document.addEventListener("resume", appReturnedFromBackground, false); } function appReturnedFromBackground() { //This function is called when the app has returned from the background alert("The app has returned from the background"); }