Javascript 在页面之间导航时刷新JQM中的动态ListView

Javascript 在页面之间导航时刷新JQM中的动态ListView,javascript,ajax,listview,jquery-mobile,refresh,Javascript,Ajax,Listview,Jquery Mobile,Refresh,我正在使用jquery mobile和cordova创建一个移动应用程序。我已经成功地从json ajax调用加载了动态listview。我的问题是,当我导航到另一个页面,然后按“上一步”按钮时,原始页面的listview不会加载,并且没有它应该在的位置。如果刷新页面,将显示listview。与其每次导航到此页面时都刷新整个页面,不如只刷新listview 我尝试在加载DOM和窗口时,以及在加载两者之前,使用$(document).on(“pagebeforeshow”,“#pagenamehe

我正在使用jquery mobile和cordova创建一个移动应用程序。我已经成功地从json ajax调用加载了动态listview。我的问题是,当我导航到另一个页面,然后按“上一步”按钮时,原始页面的listview不会加载,并且没有它应该在的位置。如果刷新页面,将显示listview。与其每次导航到此页面时都刷新整个页面,不如只刷新listview

我尝试在加载DOM和窗口时,以及在加载两者之前,使用$(document).on(“pagebeforeshow”,“#pagenamehere”,function(){})刷新listview;无济于事

更具体地说,我有两个带有ListView的页面。导航步骤如下所示: 1.加载页面1:列表视图显示 2.导航到第2页:其listview不显示 3.按后退:第1页列表视图显示 4.导航到第2页:其listview仍不显示 5.刷新第2页:其列表视图显示 6.按后退:第1页的listview不显示


这个过程应该明确,listview只在直接输入或重新加载url时加载;由于某些原因,页面之间的导航(不同的html文件)打破了这一点。

如果第二个页面的head标记中有脚本,并且该页面是通过Ajax加载的,那么脚本将不会执行

尝试将脚本从第二页的div(
)中的head标记中移动,或者创建一个JS文件并在第一页的加载中加载它。相关实例

jquerymobile使用Ajax执行页面转换,因此在转换期间jquerymobile将只注入响应的body元素(或者更具体地说是data role=“page”元素)的内容。将不使用页面标题中的任何内容(页面标题除外)


总之,当通过Ajax加载页面时,页面头部引用的任何脚本和样式都不会产生任何效果。如果通过HTTP请求页面,它们将执行,这就是为什么在整页刷新后加载listview。

这是由缓存页面加载而不执行刷新代码造成的吗?就是这样!感谢您的帮助和关于JQM的有用信息!