如何每5秒重新加载一次页面?


183

我正在将一种布局转换为html; 一旦我在code / html / css中进行了更改,每次必须按F5。是否有任何简单的javascript / jQuery解决方案?即,在添加脚本后,每5秒(或其他特定时间)重新加载整个页面。

Answers:


382
 <meta http-equiv="refresh" content="5; URL=http://www.yourdomain.com/yoursite.html">

如果必须在脚本中使用setTimeout,例如:

setTimeout(function(){
   window.location.reload(1);
}, 5000);

4
我认为这可能是比javascript中更好的方法。
Rich

1
如果用例是需要为访问者刷新页面,那么我可能会同意,但出于开发目的,拥有一个代码块可以放入页面而不必每次都更新URI是一个优点。当开发人员是整个目标受众时,依赖JS并不是问题。
昆汀2010年

4
如果当前页面是POST的结果,则location.reload(1)将重复POST。如果您希望在Javascript中复制元刷新,则可能不希望如此。
Reuben 2015年

2
重新加载当前页面不需要您指定页面,只需:<meta http-equiv="refresh" content="5">
ashleedawg

145

要重新加载同一页面,您不需要第二个参数。您可以使用:

 <meta http-equiv="refresh" content="30" />

这每30秒触发一次重新加载。


3
它是用来重定向时气馁。它不被弃用。(当您要刷新页面并且懒得学习ajax时,它非常方便:)
DinoCoderSaurus

这对我不起作用。尝试将此行添加到该Codepen中无济于事。codepen.io/css-support/pen/bspdK
洛洛洛尔ol

1
@lololololol您必须将其添加到HTML的“笔设置”区域的“用于<head>的内容”设置中。如果将其放入实际脚本中,它将不起作用。
Bret

23

对于3秒钟后的自动重新加载和清除缓存,您可以使用javascript setInterval函数轻松完成。这是简单的代码

$(document).ready(function() {
  setInterval(function() {
    cache_clear()
  }, 3000);
});

function cache_clear() {
  window.location.reload(true);
  // window.location.reload(); use this if you do not remove cache
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<p>Auto reload page and clear cache</p>

您也可以为此使用meta

<meta http-equiv="Refresh" content="5">

页面刷新<script>正在工作,但是您能解释一下它如何清除缓存吗?还是正在刷新缓存。请解释。
银色



10

IE有一个自动更新刷新工具。它称为ReloadIt,可从http://reloadit.codeplex.com获得。自由。

您选择要自动重新加载的URL,然后指定一个或多个目录路径以监视更改。按F12开始监视。

在此处输入图片说明

设置后,将其最小化。然后编辑您的内容文件。保存任何更改后,页面将重新加载。像这样:

在此处输入图片说明

简单。简单。


2
IE的好工具,感谢动画。如何创建相同的内容?
Wasim Shaikh

@WasimShaikh-使用ScreenToGIF将屏幕记录为动画GIF 。
ashleedawg

5

@jAndy提供的答案应该可以,但是在Firefox中,您可能会遇到问题window.location.reload(1) ; 可能不起作用,这是我的个人经验。

所以我想建议:

setTimeout(function() { window.location=window.location;},5000);

这已经过测试并且可以正常工作。


3

如果您使用的是firefox,一个不错的选择是XRefresh插件。每当它检测到文件已被修改时,它将重新加载页面。因此,它不仅会每5秒刷新一次,而是会在您在HTML编辑器中按“保存”时刷新。



2

如果您正在Firefox中进行开发和测试,则可以使用一个名为“ ReloadEvery ” 的插件,该插件可让您以指定的时间间隔重新加载页面。


1

这将持续5秒钟。

5000毫秒= 5秒

将它与目标_self或您想要的任何东西以及想要的包括自己的页面一起使用:

<script type="text/javascript">
function load()
{
setTimeout("window.open('http://YourPage.com', '_self');", 5000);
}
</script>
<body onload="load()"> 

或使用自动自我功能,而无需使用目标页面(包括其自身)的目标代码:

<script type="text/javascript">
function load()
{
setTimeout("location.href = 'http://YourPage.com';", 5000);
}
</script>
<body onload="load()"> 

或者,如果是同一页面,则仅重新加载自身并针对您想要的目标拖车:

<script type="text/javascript">
function load()
{
setTimeout("window.open(self.location, '_self');", 5000);
}
</script>
<body onload="load()">

这三个人都以不同的方式做类似的事情。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.