以编程方式刷新网页 - 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 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
Cocoa Touch UIWebView - 以编程方式与网页交互