javascript - JS - 重定向并返回主页

标签 javascript jquery html redirect

我有一个问题,我想在Page1中创建一个脚本,X秒后重定向到Page2,并在Page2内返回到Page1,并且这并不困难,这是我的问题,从Page 2返回后,我想重定向到 Page3,然后返回到 Page1,当我从 Page3 返回时,我想重定向到 Page4,每次重定向需要 X 秒。 我知道我可以使用元标记重定向

<meta http-equiv="refresh" content="X; 
URL=Page2.com">

Page2 使用相同的标签返回到 Page1,但我需要在 Page1 中做类似的事情

<!-- First Redirect -->
<meta http-equiv="refresh" content="x; URL=Page2.com">
<!-- Second Redirect -->
<meta http-equiv="refresh" content="x+x; URL=Page3.com">
<!-- Third Redirect -->
<meta http-equiv="refresh" content="x+x+x; URL=Page4.com">
<!-- Fouth Redirect -->
<meta http-equiv="refresh" content="x+x+x+x; URL=Page5.com">

脚本中有什么办法吗?因为它不起作用,所以总是将我重定向到 Page1.com。

谢谢你帮助我!

最佳答案

您需要一个有状态的解决方案。这是一个可能的解决方案:

// PAGEX content where X = 2, 3, 4, 5...
<meta http-equiv="refresh" content="X; URL=page1.com">

// PAGE1 content:

<script>
let urls = JSON.parse(localStorage.getItem('urls') || '[-1]')
let urlList = ['page2.com', 'page3.com', 'page4.com']

if(urls[0] == -1) { // fresh start
  localStorage.setItem('urls', JSON.stringify(urlList))
  startRedirection(urlList[0])
} else if(urls.length == 0) { // all redirects done
  console.log("Exhausted")
  localStorage.removeItem('urls') // removes the key "urls" for a fresh start
} else {
  const url = urls.shift() // get the first url in "urls" array and remove it from the array
  localStorage.setItem('urls', JSON.stringify(urls)) // update the state
  startRedirection(url) // redirect
}

function startRedirection(url) {
  setTimeout(() => location.href = url, 2000)
}

</script>

关于javascript - JS - 重定向并返回主页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49028440/

相关文章:

javascript - jquery $.get() 不使用 https

javascript - jquery验证多个文本字段中的出生日期

jquery - 我希望当我将鼠标移到 Li 上时,结果显示在 div 中

html - 如何将嵌套的 HTML 表格对齐到相同的高度

javascript - switch 中 case 之外的变量声明 - 为 DRY 代码

javascript - $.ajax responseText 与responseJSON 不同

javascript - 拼接不会改变数组的长度

javascript - 如何在AngularJS中单击按钮时获取选定的复选框

javascript - 在不阻止 javascript 的情况下显示 javascript 警报

javascript - 未触发 child 的点击事件