菜鸟教程小白 发表于 2022-12-13 03:20:24

javascript - Phonegap 事件简历


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

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

<pre><code>var TITLE = &#34;Example&#34;;
var XMLsoubor = &#34;example.xml&#34;;
var entries = [];
var selectedEntry = &#34;&#34;;


//listen for detail links
$(&#34;.contentLink&#34;).live(&#34;click&#34;, function () {
    selectedEntry = $(this).data(&#34;entryid&#34;);
});

//Listen for main page


$(&#34;#mainPage&#34;).live(&#34;pageinit&#34;, function () {
    //Set the title
    $(&#34;h1&#34;, this).text(TITLE);

    $.ajax({
      url: XMLsoubor,
      success: function (res, code) {
            entries = [];
            var xml = $(res);
            var items = xml.find(&#34;event&#34;);
            $.each(items, function (i, v) {
                entry = {
                  title: $(v).find(&#34;id&#34;).text(),
                  link: $(v).find(&#34;begin&#34;).text(),
                  description: $.trim($(v).find(&#34;description&#34;).text())
                };
                entries.push(entry);
            });
            //store entries
            localStorage[&#34;entries&#34;] = JSON.stringify(entries);
            renderEntries(entries);
      },
      error: function (jqXHR, status, error) {
            //try to use cache
            if (localStorage[&#34;entries&#34;]) {
                $(&#34;#status&#34;).html(&#34;Error&#34;);
                entries = JSON.parse(localStorage[&#34;entries&#34;])
                renderEntries(entries);
            } else {
                $(&#34;#status&#34;).html(&#34;Error&#34;);
            }
      }
    });

});



$(&#34;#mainPage&#34;).live(&#34;pagebeforeshow&#34;, function (event, data) {
    if (data.prevPage.length) {
      $(&#34;h1&#34;, data.prevPage).text(&#34;&#34;);
      $(&#34;#entryText&#34;, data.prevPage).html(&#34;&#34;);
    };
});

//Listen for the content page to load
$(&#34;#contentPage&#34;).live(&#34;pageshow&#34;, function (prepage) {
    //Set the title
    $(&#34;h1&#34;, this).text(entries.title);
    var contentHTML = &#34;&#34;;
    contentHTML += entries.description;
    contentHTML += &#39;&lt;p/&gt;&lt;a href=&#34;&#39; + entries.link + &#39;&#34;&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;text&#39;;
    $(&#34;#entryText&#34;, this).html(contentHTML);
});


function renderEntries(entries) {
    var s = &#39;&#39;;
    $.each(entries, function (i, v) {
      s += &#39;&lt;li&gt;&lt;a href=&#34;#contentPage&#34; class=&#34;contentLink&#34; data-transition=&#34;slide&#34; data-entryid=&#34;&#39; + i + &#39;&#34;&gt;&#39; + v.title + &#39;&lt;br&gt;text&lt;/a&gt;&lt;/li&gt;&#39;;
    });
    $(&#34;#linksList&#34;).html(s);
    $(&#34;#linksList&#34;).listview(&#34;refresh&#34;);
}
</code></pre></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>使用事件监听器来“恢复”。它应该在 deviceready 触发后立即进行。</p>

<p> <a href="http://docs.phonegap.com/en/2.9.0/cordova_events_events.md.html#resume" rel="noreferrer noopener nofollow">http://docs.phonegap.com/en/2.9.0/cordova_events_events.md.html#resume</a> </p>

<p>您的脚本中首先应该有一个 deviceready 事件,因为在触发 deviceready 事件之前,很多 Cordova 的东西还没有准备好,所以您需要监听 deviceready,如下所示:</p >

<pre><code>document.addEventListener(&#34;deviceready&#34;, onDeviceReady, false);
</code></pre>

<p>然后您在 onDeviceReady 函数中添加其他监听器并从那里开始您的应用程序的其余部分:</p>

<pre><code>function onDeviceReady() {
    //The device is ready when this function is called
    document.addEventListener(&#34;resume&#34;, appReturnedFromBackground, false);
}

function appReturnedFromBackground() {
    //This function is called when the app has returned from the background
    alert(&#34;The app has returned from the background&#34;);
}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于javascript - Phonegap 事件简历,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/18190475/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/18190475/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: javascript - Phonegap 事件简历