gpt4 book ai didi

重定向后 jQuery Mobile ListView 刷新

转载 作者:行者123 更新时间:2023-11-28 00:08:59 25 4
gpt4 key购买 nike

页面 feed.html 在从浏览器调用时工作正常,但当它通过 a href="feed.html" 从另一个页面调用时页面加载但内部的 ListView 不显示.

适用于 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');
});
}

此代码单独运行良好,但当从另一个页面调用它时,它不会刷新列表。

最佳答案

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

要了解这种情况,您需要了解 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

关于重定向后 jQuery Mobile ListView 刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16609850/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com