以编程方式刷新网页 - javascript [重复]

Posted

技术标签:

【中文标题】以编程方式刷新网页 - javascript [重复]【英文标题】:refresh webpage programmatically - javascript [duplicate] 【发布时间】:2012-07-24 10:08:48 【问题描述】:

可能重复:javascript hard refresh of current page

有没有办法使用 javascript 刷新页面?我正在使用 jQuery Mobile 在列表视图(可能是列表视图)中显示一些统计信息,并且我需要每 10 秒从 mysql 数据库重新填充数据,比如说。这可能吗?

提前致谢。

【问题讨论】:

是的,这是可能的。根据您的设置,您可以使用 AJAX 来执行此操作,或者只是使用 JavaScript 刷新页面。 是的,这是可能的。可能有几种不同的方式。你试过哪种方式。 这不是重复的。这是关于 JQM 的。 【参考方案1】:

如果您使用 JQM,请在列表视图上使用 listview.('refresh') 方法。使用 ajax 并在处理程序中的列表上调用 .refresh()。

$.ajax( /* code goes here */ 
 success : function(e)  for (var i in e.data) 
  listView.add(i);  
   listview.listview('refresh'); );

来自 JQM 文档: http://jquerymobile.com/test/docs/lists/docs-lists.html 更新列表 如果将项目添加到列表视图,则需要对其调用 refresh() 方法来更新样式并创建添加的任何嵌套列表。例如:

$('#mylist').listview('refresh'); 请注意,refresh() 方法仅影响附加到列表的新节点。这样做是出于性能原因。刷新过程将忽略任何已增强的列表项。这意味着如果您更改已增强列表项的内容或属性,这些将不会被反映。如果您想要更新列表项,请在调用刷新之前将其替换为新标记。

【讨论】:

您能否提供一些示例以每 10 秒重复一次?我知道代码很简单,但我真的很感激。 好的,但我又如何将 listview 方法 .refresh() 放在重复的基础上?非常感谢 每次ajax调用完成都会刷新 如果您想定期执行此操作,请使用 setTimeout() 函数并调用 listview.listview('refresh')。【参考方案2】:

我建议为此使用 ajax。但是要在 JS 中刷新页面,只需这样做:

window.location.reload();

window.location.href = window.location.href;

【讨论】:

第一种方法在 IE 和 Chrome 中适用于我(没有在其他浏览器上测试过),但第二种方法在任何一种浏览器中都不起作用? 我确认 window.location.reload() 在 Microsoft Edge 和 Google Chrome 中适用于刷新整个页面的简单案例。

以上是关于以编程方式刷新网页 - javascript [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 AJAX 以编程方式刷新视图页面?

Cocoa Touch UIWebView - 以编程方式与网页交互

网页编程:用javascript里的window.open打开一个窗口后,想在关闭页后再刷新父页面,怎么办呢?

浏览器在刷新时以不同的方式呈现网页(当没有任何变化时)

js反爬:请开启JavaScript并刷新该页

从 JavaScript 以编程方式打开 Safari / Google Chrome 开发人员工具