javascript - 如何使重定向不是随机的并遵循顺序?
问题描述
我有这段代码,我打算每次同一个用户重新加载页面时将其重定向到不同的 URL,问题是有时它会重定向到列表中的相同 URL,而我正在寻找的是遵循订单. 例如:url1、url2、url3。
var URLlist = ["url1.html", "url2.html", "url3.html"];
var reDelay = 0000;
setTimeout(function () {
window.location = URLlist[Math.floor(Math.random() * URLlist.length)];
}, reDelay);
解决方案
也许是这样的:
var URLlist = ["url1.html","url2.html","url3.html"];
//URLs a las que el usuario ha sido redireccionado.
var urlsRedireccionado = JSON.parse(window.localStorage.getItem("urls_redireccionado")) || [];
var reDelay = 0000;
setTimeout(function(){
//La siguiente URL en el orden en que han sido agregadas en la variable URLlist
var next = URLlist.find(u => !urlsRedireccionado.some(ur => ur == u));
//Si faltan URL por redireccionar
if(next) {
urlsRedireccionado.push(next);
window.localStorage.setItem("urls_redireccionado", JSON.stringify(urlsRedireccionado));
window.location = next;
} else {
//Para que la proxima vez que recargue sea redirigido a todas las URL anteriores
window.localStorage.removeItem("urls_redireccionado");
//Redireccionado a todas partes
}
}, reDelay);
推荐阅读
- python - Osascript 和 ITU
- list - 在颤动中将多个项目添加到列表中
- laravel - 为什么 Laravel Livewire 中的 flash 消息只显示一次?
- python - 如何在网页上分别打印 IPv4 和 IPv6
- flutter - 如何在flutter中使用插件usb_serial?
- reactjs - 如何将名称属性添加到输入?
- c++ - C++指针变量和动态分配的基本概念以及间接运算符的必要性
- jquery - 使用 laravel8 一次将数据存储到两个表中
- python - 为什么 Markercluster 搜索栏会出错
- python - 从包含标题和值的数据框列中提取标题