Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.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 如何在每次加载页面时只重新加载一次页面_Javascript_Jsp - Fatal编程技术网

Javascript 如何在每次加载页面时只重新加载一次页面

Javascript 如何在每次加载页面时只重新加载一次页面,javascript,jsp,Javascript,Jsp,我有一个JSP页面,它显示以前的内容,即使删除了其中一个内容。我正在努力找到问题,但我需要一个快速解决这个问题。我在JavaScript方面很弱,所以请帮助我。我需要一个JavaScript,可以在每次访问页面时自动重新加载页面。重新加载页面确实解决了问题。如果您只想执行一次,我将使用localStorage: if (localStorage.getItem('loadedOnce') === 'true') { // don't reload page, but clear loca

我有一个JSP页面,它显示以前的内容,即使删除了其中一个内容。我正在努力找到问题,但我需要一个快速解决这个问题。我在JavaScript方面很弱,所以请帮助我。我需要一个JavaScript,可以在每次访问页面时自动重新加载页面。重新加载页面确实解决了问题。

如果您只想执行一次,我将使用
localStorage

if (localStorage.getItem('loadedOnce') === 'true') {
    // don't reload page, but clear localStorage value so it'll get reloaded next time
    localStorage.removeItem('loadedOnce');
} else {
    // set the flag and reload the page
    localStorage.setItem('loadedOnce', 'true');
    document.location.reload(true);
}
我真的建议你研究一下为什么这个问题会被打破,而不是试图绕过这个问题

注意:


这在较旧的浏览器中不起作用。有关更多信息,请参见(IE8确实支持它)。

基于@Omar的回答,与tjameson类似。它只是用饼干代替

var int=self.setTimeout(function(){refresh()},1000);
function refresh() {      
  if (document.cookie.indexOf("reloaded") === -1){
    document.cookie += ";reloaded";
    document.location.reload(true);        
  }
  else {
    document.cookie = document.cookie.replace(/;reloaded/g, '');
  }
}

这只在第一次访问页面时有效。实际上,我的页面有一个学生和删除按钮列表。每次单击删除按钮时,请求都会传递给servlet,servlet会删除详细信息并将其重定向回页面。因此,我需要它在每次工作时都起作用,因为用户希望多次删除学生。实际上,每隔一次,它就会这样做。我以为这就是你想要的。您始终可以将
localStorage.removietem
位移动到事件处理程序中,就像在“删除”按钮上一样。这很好,因为它已传递到服务器。这将允许服务器发回cookie以发出刷新信号。因为这是每秒调用一次的,所以如果浏览器设置为确认每个cookie,cookie确认对话框可能会堆积起来…@Linus,哦,是的。我认为它应该是setTimeout而不是setInterval。