• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

javascript - Phonegap 事件简历

[复制链接]
菜鸟教程小白 发表于 2022-12-13 03:20:24 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我正在尝试加载 xml 数据并且一切正常,但我想在设备恢复时重新加载 xml 数据。

这是我的代码,我不知道在哪里粘贴函数以恢复加载。感谢您的建议;-)

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");
}



Best Answer-推荐答案


使用事件监听器来“恢复”。它应该在 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");
}

关于javascript - Phonegap 事件简历,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18190475/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap