Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 真正刷新/重新加载jQuery移动页面div_Javascript_Jquery_Jquery Mobile_Mobile - Fatal编程技术网

Javascript 真正刷新/重新加载jQuery移动页面div

Javascript 真正刷新/重新加载jQuery移动页面div,javascript,jquery,jquery-mobile,mobile,Javascript,Jquery,Jquery Mobile,Mobile,我目前正在处理一个包含多个jQM页面div(单页面方法)的文件。 我在这些页面的页眉中有一个刷新按钮,我试图根据“getActivePage”刷新各个页面div。这种交互性的原因是存在一个正在运行的项目列表,用户需要刷新该列表才能看到新内容进入listview 我已经进行了各种视觉刷新来改变下面的函数,但是没有一个能够完全刷新DOM或所需的pagecontainer或jQM页面div的内容。使用下面的代码,我能够看到视觉转换,并得到所需/相同的我尝试刷新的jQM页面div。问题是,内容似乎并没有

我目前正在处理一个包含多个jQM页面div(单页面方法)的文件。 我在这些页面的页眉中有一个刷新按钮,我试图根据“getActivePage”刷新各个页面div。这种交互性的原因是存在一个正在运行的项目列表,用户需要刷新该列表才能看到新内容进入listview

我已经进行了各种视觉刷新来改变下面的函数,但是没有一个能够完全刷新DOM或所需的pagecontainer或jQM页面div的内容。使用下面的代码,我能够看到视觉转换,并得到所需/相同的我尝试刷新的jQM页面div。问题是,内容似乎并没有真正被重新加载。(我在测试环境中有一种方法可以更改列表视图以测试刷新,但我看不到这些更改生效)我想知道我是否没有正确地传递“id_urlNav”,或者是否可以使用.pagecontainer(“更改”…)

当一切都丢失时,我最后插入了window.location.reload();,但对于页面容器操作来说,这似乎是一种糟糕的形式。如果有人知道为什么这不起作用,请告诉我。提前感谢您的审阅

// script to reload/refresh jQM pages
// scoped to internal page hashes vs. overall window
// "change" is used vs. "load" for internal reloads vs. AJAX content
function refreshPages() {
// the camel casing on the first part of the pageContainer object below
// is important
var id_url = $.mobile.pageContainer.pagecontainer("getActivePage")[0].id;
var id_urlNav = "#" + id_url;
console.log("id_urlNav" + " =" + " " + id_urlNav );
// window.location.reload();

// keeping the below in case 1.5 finally arives with proven solution
$.mobile.pageContainer.pagecontainer( "change", id_urlNav, 
  {
    allowSamePageTransition : true,
    showLoadMsg             : true,
    // reloadPage reloads entire jQM set of pages, forgetting the getActivePage
    // reloadPage is deprecated
    // reload "reloads" the getActivePage, but doesn't show new content
    reload                  : true,
    transition              : 'fade', 
    changeHash              : 'true'
    } 
);
}
// /refresh code

我在jQuery论坛上读到一些关于reload:vs.现已弃用的reloadPage:的错误,但我不知道这是否是故障的原因。

您的代码显示页面刷新,但不显示新数据的来源……而不是刷新整个页面,为什么不进行ajax调用并从ajax结果中重新填充列表?
reloadPage
已被弃用,但它仍然有效。
reload
中有一个bug尚未修复,谢谢大家的建议。是的,听起来我需要弄清楚如何通过AJAX注入这些内容,而不是在DOM中加载所有内容。我假设上面使用“change”的函数将自动允许这些pagecontainer显示新更新的内容?这就是为什么它不一定是上述函数中的“真正”刷新吗?我想这是jQM刷新整个容器的方法,AJAX正在做其余的事情。抱歉,如果这是对这个问题的愚蠢补充,那只是在研究jQM 1.4.3文档时没有一个是显而易见的。请注意,
reload
reloadPage
仅与URL一起工作,而不与#页面片段一起工作。正如@ezanker所说,您可以通过Ajax加载内容,而不是重新加载整个文档。再次感谢大家的反馈。我们没有内部的基础设施来注入来自某个平台的内容,所以我选择了location.reload(),并对loader小部件进行了调用,该小部件可以旋转,并在移动设备上提供更好的反馈,而不是依赖mobile Safari的微妙提示。查看这些示例=>