不同网址自动跳转新页面需求下写的简单js方法——源自码农的想偷懒
Posted ITseahorseL
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不同网址自动跳转新页面需求下写的简单js方法——源自码农的想偷懒相关的知识,希望对你有一定的参考价值。
本人实习中,一个部长突然发了一个文件,让三个人包括我点击文件中的1236个网址来清除redis的缓存,我们三个人就这样每个人点击了四百多个网址,一直在哪里点击鼠标+alt+tab手都快点抽筋了,于是点完后我在想写个js来实现自动跳转吧,于是就有了一下的js代码,如果有相类似需求的小伙伴可以借鉴啦~
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>不同网址自动跳转</title>
<style rel="stylesheet" type="text/css">
*
margin: 0 auto;
padding: 0;
</style>
</head>
<body>
<input type="file" name="file" id="file">
<script>
let file = document.getElementById("file");
//创建b变量作为时间间隔
const b = 5000;
file.onchange = function ()
//input点击事件
var resultFile = document.getElementById("file").files[0];
var reader = new FileReader();
reader.readAsText(resultFile, 'UTF-8');
reader.onload = function (e)
//读取文件事件
//data为读取文件的内容
let data = this.result;
//创建数组接收内容分割的每一个网址
let splitdata = new Array();
//去除内容data里面的转行符,用空格代替
data = data.replace(/\\n|\\r/g, " ");
//用空格作分割符来分割内容data
splitdata = data.split(" ");
//将数组里面为空的字符串去除
splitdata = splitdata.filter(Boolean);
//得到数组的长度
let length = splitdata.length;
//创建times时间间隔变量来控制定时器的调用
let times = 5000;
//for循环为传入时间间隔、不同的网址地址、数组长度来调用定时器
for (let i = 0; i < length; i++)
go(times, splitdata[i], length)
//间隔不断增加
times += b;
//两者之间可以解决同步与异步的问题
function go(times, url, length)
//跳转页面定时器函数
let timer = setTimeout(function ()
//根据网址打开新的页面
window.open(url);
//console.log("times",times);
//console.log("url",url);
//当时间间隔最终值等于调用测试次数与时间间隔值相等时,关闭定时器
if (times == length * b)
clearTimeout(timer);
, times);
</script>
</body>
</html>
步骤:
-
打开页面,导入txt文件,如下
-
然后就可以等待所有页面间隔在新页面打开啦,完成其需求。
-
效果
以上是关于不同网址自动跳转新页面需求下写的简单js方法——源自码农的想偷懒的主要内容,如果未能解决你的问题,请参考以下文章
不同网址自动跳转新页面需求下写的简单js方法——源自码农的想偷懒