【问题标题】:jQuery Mobile listview refresh after redirection重定向后jQuery Mobile listview刷新
【发布时间】:2013-05-12 16:04:03
【问题描述】:

页面 feed.html 在从浏览器调用时工作正常,但当通过 a href="feed.html" 页面加载从另一个页面调用时,但里面的列表视图不显示。

适用于 feed.html 的脚本包含 $('#feedList').listview('refresh');,并且在从直接 url 调用时可以正常工作。

所以每次重定向后我都需要刷新页面才能工作。

getfeed.js :

    var newsfeeds;

    $('#feedListPage').bind('pageinit', function(event) {
        getFeedList();
    });

    function getFeedList() {
        $.getJSON(serviceURL + 'getfeeds.php', function(data) {
            $('#feedList li').remove();
            newsfeeds = data.items;
            $.each(newsfeeds, function(index, newsfeed) {
                $('#feedList').append('<li><a href="feeddetails.html?id=' + newsfeed.id + '">' +
                '<img src="' + newsfeed.img + '"/>' +
                '<h4>' + newsfeed.title + '</h4>' +
                '<p>' + newsfeed.desc + '</p>' +
                '</a></li>');
            });
            $('#feedList').listview('refresh');
        });
    }

此代码单独工作正常,但当从另一个页面调用时,它不会刷新列表。

【问题讨论】:

  • 您是在使用多个 html 页面还是将所有页面都放在一个 html 文件中?
  • 几个 html 页面正在从面板“右推面板”调用。

标签: jquery html jquery-mobile refresh jquery-mobile-listview


【解决方案1】:

这是一个疯狂的猜测,但我想我知道你的情况出了什么问题。

要了解这种情况,您需要了解 jQuery Mobile 的工作原理。它使用 ajax 加载其他页面。

首页正常加载。它的 HEAD 和 BODY 被加载到 DOM 中,它们在那里等待其他内容。当第二个页面被加载时,只有它的 BODY 内容被加载到 DOM 中。因此,当您直接打开页面并且您的 javascript 被放置在一个 HEAD 中时,javascript 将成功执行,但如果您打开其他 html 文件并且其 javascript 在 head 中,它将被丢弃,因为只会加载 BODY。

如果您想了解有关此问题的更多信息以及如何解决它(+ 工作解决方案),请查看我的其他答案:Why I have to put all the script to index.html in jquery mobile

【讨论】:

  • 我不知道这是不是一个好方法,但我测试了将 jquerymobile 和 jquery .js 放入所有 html 文件中。没用!
  • 把 jQuery.js 和 jQuery Mobile 放到所有文件中不是重点,这解决不了任何问题。如果您阅读了我的其他答案,则您的整个 javascript 应该放在您的主/第一个 html 文件中,或者放在除主/第一个页面之外的所有页面的 BODY 标记中。
  • 太棒了!您的其他答案链接对我有帮助,实际上只需要为您添加一个 rel="external" 一个 href 标签。非常感谢朋友。
  • Answer &lt;a href="my_page.html" rel="external"&gt;My Page&lt;/a&gt; @Gajotres 的原始答案,答案链接是Why I have to put all the script to index.html in jquery mobile
猜你喜欢
  • 2012-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-11
  • 1970-01-01
  • 2012-05-22
相关资源
最近更新 更多